gpt4 book ai didi

python - PyQT 全屏问题

转载 作者:行者123 更新时间:2023-11-28 21:54:54 26 4
gpt4 key购买 nike

好吧,对 python 来说还很陌生,ans 刚开始在我的 Pi 上使用 PyQT 为我拥有的一些代码制作 GUI。然而, window 打开了一瞬间,又关上了一个小窗。谁能告诉我哪里出错了?

import sys
from PyQt4 import QtGui, QtCore

class mainUI(QtGui.QWidget):
def __init__(self):
super(mainUI, self).__init__()
self.initUI()

def initUI(self):

MainWindow = QtGui.QWidget()
MainWindow.showFullScreen()
MainWindow.setWindowTitle('TimeBot')
MainWindow.show()

qbtn = QtGui.QPushButton('Quit')
qbtn.clicked.connect(QtCore.QCoreApplication.quit)
qbtn.move(5,5)
qbtn.show()

self.show()

def main():
app = QtGui.QApplication(sys.argv)

window = mainUI()

sys.exit(app.exec_())

if __name__ == '__main__':
main()

最佳答案

问题是,在 initUi 中,您制作了另一个 QWidget,将其设置为全屏显示,然后当该小部件超出范围时,它会被垃圾回收并消失。您打算使用 self 而不是制作新的 QWidget。像这样:

import sys
from PyQt4 import QtGui, QtCore

class mainUI(QtGui.QWidget):
def __init__(self):
super(mainUI, self).__init__()
self.initUI()

def initUI(self):

self.showFullScreen()
qbtn = QtGui.QPushButton('Quit')
qbtn.clicked.connect(QtCore.QCoreApplication.quit)
qbtn.move(5,5)
self.button = qbtn
qbtn.show()


def main():
app = QtGui.QApplication(sys.argv)
window = mainUI()
sys.exit(app.exec_())

if __name__ == '__main__':
main()

请注意,我保留了对 qbtn 的引用,这样它就不会被垃圾收集和消失。

关于python - PyQT 全屏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23437974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com