gpt4 book ai didi

python - PyQt4 无法创建简单的 GUI 应用程序

转载 作者:太空狗 更新时间:2023-10-29 17:58:12 25 4
gpt4 key购买 nike

所以我正在使用 Python 和 PyQt4 创建一个简单的 Windows 应用程序。我在 QtCreator 中按照我想要的方式设计了我的 UI,并且我已经从 .ui 文件创建了必要的 .py 文件。当我尝试实际打开窗口的一个实例时,出现以下错误:

AttributeError: 'Window' object has no attribute 'setCentralWidget'

所以我回到 ui_mainwindow.py 文件并注释掉以下行:

MainWindow.setCentralWidget(self.centralWidget)

现在,当我运行 main.py 时,它将生成窗口的一个实例,但它失去了网格布局,UI 元素只是漂浮在那里。知道我做错了什么吗?

我的 main.py 文件:

import sys
from PyQt4.QtGui import QApplication
from window import Window

if __name__ == "__main__":

app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())

和我的 window.py 文件:

from PyQt4.QtCore import Qt, SIGNAL
from PyQt4.QtGui import *

from ui_mainwindow import Ui_MainWindow

class Window(QWidget, Ui_MainWindow):

def __init__(self, parent = None):

QWidget.__init__(self, parent)
self.setupUi(self)

最佳答案

您需要继承QMainWindow,而不是QWidgetsetCentralWidgetQMainWindow 的一个方法。

from PyQt4.QtCore import Qt, SIGNAL
from PyQt4.QtGui import *

from ui_mainwindow import Ui_MainWindow

class Window(QMainWindow, Ui_MainWindow):
def __init__(self, parent = None):

QMainWindow.__init__(self, parent)
# or better
# super(Window, self).__init__(parent)

self.setupUi(self)

关于python - PyQt4 无法创建简单的 GUI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10219367/

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