最近,我开始尝试PyQt5 GUI库,因为Tkinter看起来不是很现代或不错。我试图创建一个带有按钮的非常简单的窗口,但是由于某种原因,它为该按钮打开了一个新窗口。我该如何解决?这是代码:
from PyQt5 import QtWidgets
app = QtWidgets.QApplication([])
window = QtWidgets.QWidget()
window.setGeometry(0, 0, 500, 300)
window.setWindowTitle("UI")
window.show()
btn = QtWidgets.QPushButton("Test")
btn.resize(100,100)
btn.move(100,100)
btn.show()
(app.exec_())
我知道我应该为GUI使用类,但是我想在开始之前学习基础知识。
答案 0 :(得分:1)
要使像QPushButton之类的小部件成为窗口的一部分,必须完成该小部件:
在您的情况下QPushButton不满足任何要求,因此它将是一个新窗口,因此可以使用1或3规则来解决:
MyClass myclass = new MyClass(1);
或者:
import sys
from PyQt5 import QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setGeometry(0, 0, 500, 300)
window.setWindowTitle("UI")
btn = QtWidgets.QPushButton("Test", window)
btn.resize(100,100)
btn.move(100,100)
window.show()
sys.exit(app.exec_())