问题描述
我真的希望有人可以帮助我解决这个问题.我正在尝试开始使用 pyqt5,并且几乎从我正在学习的课程中复制了这段代码.代码似乎执行没有任何问题,但我应该看到的窗口根本没有出现,我做错了什么?顺便说一下,我正在研究 ubuntu 18
I really hope someone can help me out on this one. Im trying to get started with using pyqt5, and have pretty much copied this code from a course that i am taking. the code seems to execute without any problems, but the window that i should be seeing is simply not appearing, what am I doing wrong? Im working on ubuntu 18 by the way
from PyQt5.QtCore import * from PyQt5.QtWidgets import * class Page(QWidget): def __init__(self, parent=None): super(Page, self).__init__(parent) my_label = QLabel("This is my labet") layout = QVBoxLayout() layout.addWidget(my_label) mainLayout = QGridLayout() mainLayout.addLayout(layout, 0, 1) self.setLayout(mainLayout) self.setWindowTitle("my first Qt app") if __name__ == "__mongo__": import sys print("LOEREE") app = QApplication(sys.argv) window = Page() window.show()
推荐答案
在你的例子中有一些拼写错误,最后没有一行 sys.exit (app.exec _ ())它启动了应用程序的主循环.从这里开始处理事件.
In your example there were some typos and at the end there was no line sys.exit (app.exec _ ()) which starts the main loop of the application. From here begins the processing of events.
from PyQt5.QtCore import * from PyQt5.QtWidgets import * class Page(QWidget): def __init__(self, parent=None): # __init__ super(Page, self).__init__(parent) # __init__ my_label = QLabel("This is my labet") layout = QVBoxLayout() layout.addWidget(my_label) mainLayout = QGridLayout() mainLayout.addLayout(layout, 0, 1) self.setLayout(mainLayout) self.setWindowTitle("my first Qt app") if __name__ == '__main__': # import sys print("LOEREE") app = QApplication(sys.argv) window = Page() window.show() sys.exit(app.exec_()) # !!!