python - 我添加了我需要的所有小部件,但我的程序主窗口仍然是空白的,我不知道为什么
问题描述
我的主窗口似乎是空的,我添加了必要的小部件,但我不知道如何处理这种情况
class menu(QMainWindow):
def __init__(self,parent=None):
super(menu,self).__init__(parent)
layout0=QFormLayout()
self.b1=QPushButton("Öğrenci Girişi")
self.b2=QPushButton("Öğretmen Girişi")
menubar=self.menuBar()
bilgi=menubar.addMenu("Bilgi")
Hakkinda=QAction("Hakkında",self)
Yardim=QAction("Yardim",self)
bilgi.addAction(Hakkinda)
bilgi.addAction(Yardim)
Hakkinda.triggered.connect(self.hakkinda)
Yardim.triggered.connect(self.yardim)
layout0.addWidget(self.b1)
layout0.addWidget(self.b2)
self.b1.clicked.connect(self.gettext)
self.b2.clicked.connect(self.gettext1)
self.b1.setEnabled(True)
self.b2.setEnabled(True)
self.setLayout(layout0)
解决方案
无效 QMainWindow::setCentralWidget(QWidget *widget)
将给定的小部件设置为主窗口的中心小部件。
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyMenu(QMainWindow):
def __init__(self,parent=None):
super(MyMenu,self).__init__(parent)
centralWidget = QWidget()
self.setCentralWidget(centralWidget)
layout0 = QFormLayout(centralWidget)
self.b1 = QPushButton("Öğrenci Girişi")
self.b2 = QPushButton("Öğretmen Girişi")
menubar = self.menuBar()
bilgi = menubar.addMenu("Bilgi")
Hakkinda = QAction("Hakkında",self)
Yardim = QAction("Yardim",self)
bilgi.addAction(Hakkinda)
bilgi.addAction(Yardim)
Hakkinda.triggered.connect(self.hakkinda)
Yardim.triggered.connect(self.yardim)
layout0.addWidget(self.b1)
layout0.addWidget(self.b2)
self.b1.clicked.connect(self.gettext)
self.b2.clicked.connect(self.gettext1)
self.b1.setEnabled(True)
self.b2.setEnabled(True)
# self.setLayout(layout0)
def hakkinda(self):
print("def hakkinda")
def yardim(self):
print("def yardim")
def gettext(self):
print("def gettext")
def gettext1(self):
print("def gettext1")
if __name__ == '__main__':
import sys
application = QApplication(sys.argv)
window = MyMenu()
window.show()
sys.exit(application.exec_())
推荐阅读
- deployment - JBoss 部署:一个配置文件下的多个应用程序
- csv - netlogo:从 NetLogo 6.0.3 开始,csv 电子表格中没有“”
- sencha-touch - 从 extReact sencha 组件中的 Closable TabPanel 获取活动选项卡
- python - 带轻弹帽的 OWI 机械臂
- javascript - 如何将 highchart-more 导入 angular-cli 6 项目
- java - 无法使用 java api 为 Elasticsearch 构建查询
- excel - 带有指向另一个工作簿的链接的单元格值未更新
- mysql - Redshift / MySQL - 检查 2 个整数列之间的不相等性返回错误的结果
- angular - ngrx 测试方法调度动作
- java - 关于Gson和Java模型类的问题