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