gpt4 book ai didi

python - PyQt5 GUI 程序不会在主窗口内显示小部件

转载 作者:行者123 更新时间:2023-12-01 05:26:28 25 4
gpt4 key购买 nike

我制作的 GUI 程序将打开带有窗口标题的主窗口,但它是空的,并且空闲时没有错误。我只输入了用于设置选项卡系统的代码,并在第一个选项卡上添加了确认按钮。

import sys
import functions_classes
from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow,self).__init__()
self.createUI()

def createUI(self):
self.setWindowTitle('Equipment Manager 0.1')
self.tabWidget = QTabWidget()
#New Data
self.newDataWidget = QWidget()
self.newDataLayout = QVBoxLayout()
self.newFormLayout = QFormLayout()
self.newConfirmButton = QPushButton('Confirm',self)
self.newDataLayout.addLayout(self.newFormLayout)
self.newDataLayout.addWidget(self.newConfirmButton)
self.newDataWidget.setLayout(self.newDataLayout)
self.tabWidget.addTab(self.newDataWidget, 'New Data')
#Update Data
self.updateDataWidget = QWidget()
self.updateDataLayout = QVBoxLayout()
self.updateDataWidget.setLayout(self.updateDataLayout)
self.tabWidget.addTab(self.updateDataWidget, 'Update Data')
#Query
self.queryWidget = QWidget()
self.queryLayout = QVBoxLayout()
self.queryWidget.setLayout(self.queryLayout)
self.tabWidget.addTab(self.queryWidget, 'Query')
#Main Layout
self.mainLayout = QVBoxLayout()
self.mainLayout.addWidget(self.tabWidget)
self.setLayout(self.mainLayout)

def main():
mainWindow = MainWindow()
mainWindow.show()
mainWindow.raise_()
application.exec_()

最佳答案

一个QMainWindow不适合与布局一起使用。它显示一个中央小部件作为其内容。所以只需替换:

#Main Layout
self.mainLayout = QVBoxLayout()
self.mainLayout.addWidget(self.tabWidget)
self.setLayout(self.mainLayout)

与:

self.setCentralWidget(self.tabWidget)

它应该可以工作......

关于python - PyQt5 GUI 程序不会在主窗口内显示小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21240298/

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