0
import sys
from PySide import QtGui
class BrowserDevelopment(QtGui.QMainWindow):
def __init__(self):
super(BrowserDevelopment, self).__init__()
self.startingUI()
def startingUI(self):
self.setWindowTitle('Alphabrowser')
self.resize(800, 400)
self.statusBar()
#Menueinstellungen an sich
menue = self.menuBar()
#Actions des Menues:
#datei menue
menuleiste_datei = menue.addMenu('File')
datei_exit = QtGui.QAction('Exit', self)
datei_exit.setStatusTip('Close the programm')
menuleiste_datei.addAction(datei_exit)
datei_exit.triggered.connect(self.close)
#Einstellungen menue
menuleiste_configurations = menue.addMenu('Configurations')
configurations_settings = QtGui.QAction('Settings', self)
configurations_settings.setStatusTip('Configurations(Settings)')
menuleiste_configurations.addAction(configurations_settings)
configurations_settings.triggered.connect(self.newwindow)
self.show()
def newwindow(self):
wid = QtGui.QWidget()
wid.resize(250, 150)
wid.setWindowTitle('NewWindow')
wid.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = BrowserDevelopment()
sys.exit(app.exec_())
if __name__== '__main__':
main()
如果单击“配置”,然后选择“设置”窗口应弹出,这确实。但它闪烁并消失。我尝试添加第二个sys.exit(app.exec_()),但它没有被定义,因为它在另一个方法中。我应该只是使应用程序全球或有这样的所谓“线程”? Greets
嗨,谢谢你的回复。哦,我的天啊,我想我需要重读一些关于方法的东西。但是,为什么你不为窗口做一个新的方法?我做了这个更多的监督,以独立的方式处理每个新窗口。 – JonnyPython 2013-04-23 14:23:57
因为这样你每次都重新创建窗口。通过将其放置在初始化方法(或其他一些称为suring初始化的方法)中,您可以保留相同的参考,并随时显示/隐藏它。更快,更少杂乱,并允许你保持相同的对象(以便你可以保存一些数据)。 – insys 2013-04-23 19:10:02