我的程序打开了另一个窗口,但是,在使用之后,我希望这个窗口自动关闭。这可能吗?
我已经尝试过使用sys.exit()
,但这会关闭我的所有窗口,我只想关闭一个特定的窗口。
编辑: 在我的主窗口中,我有一个按钮,通过此功能调用我的其他窗口:
from RPG_Changes import run as change
class Ui_RPG_Roll(object):
(...)
def yes(self):
change(self.dices)
(...)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
RPG_Roll = QtGui.QMainWindow()
ui = Ui_RPG_Roll()
ui.setupUi(RPG_Roll)
RPG_Roll.show()
sys.exit(app.exec_())
在被调用的窗口中,我有一些数据处理,但基本上这就是代码:
from PyQt4 import QtCore, QtGui, QtTest
import dice_roll #this is a function that I created that rolls dices
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow, dados):
(...data process...)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow,dados)
MainWindow.show()
ui.sistema()
sys.exit(app.exec_())
def run(dices):
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow,dados)
MainWindow.show()
ui.sistema()
sys.exit(app.exec_())