如何解决当 QMainwindow 作为值传递给包含 QMainWindow
基本上我想要实现的是,只有一个 QMainWindow 在删除以前的小部件后显示所有其他 QMainWindow 小部件。一切正常,但组合框选择不起作用。 `将 MainWindow2 导入为 minwin2 **** 其他进口 ****
类 MainWindow(QMainWindow): def init(自我): super(MainWindow,self).init()
self.mainWidget = QWidget()
self.mainVBoxLayout = QVBoxLayout()
self.mainWidget.setLayout(self.mainVBoxLayout)
self.setCentralWidget(self.mainWidget)
**** some code***
self.pushButton = QPushButton()
self.pushButton.clicked.connect(self.getdisplayMinWin2)
def getdisplayMinWin2(self):
# This method removes all prevIoUs widgets and displays new widget
for i in range(0,self.mainVBoxLayout.count()): self.mainVBoxLayout.itemAt(i).widget().close()
minWin2.getMainWindow2(self.mainWidget,self.mainVBoxLayout ).getdisplayMinWin2()
if name == 'main':
app = QApplication(sys.argv)
screen = app.primaryScreen()
#print('Screen: %s' % screen.name())
size = screen.size()
rect = screen.availableGeometry()
screenWidth = rect.width()
screenHeight = rect.height()
if screenWidth > 1920 and screenHeight > 1080:
app.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling,True)
app.setAttribute(QtCore.Qt.AA_UseHighDpipixmaps,True)
else:
app.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling,False)
app.setAttribute(QtCore.Qt.AA_UseHighDpipixmaps,False)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
(这是在单独的 .py 文件中) 类 MainWindow2(QMainWindow): def init(self,mainWidget,mainVBoxLayout): super(MainWindow2,self).init()
self.mainWidget = mainWidget
self.mainVBoxLayout = mainVBoxLayout)
**** some code***
def getdisplayMinWin2(self):
self.cbList = ['Open','Closed','All']
self.cb = QComboBox()
self.cb.setFixedSize(175,60)
self.cb.setFont(QtGui.QFont("calibri",11))
self.cb.addItems(self.contStatList)
self.cb.setStyleSheet("background-color: white;")
self.cb.currentTextChanged.connect(self.comboChangedValue)
self.mainVBoxLayout .addWidget(self.cb)
def comboChangedValue(self):
text = str(self.contStatListCB.currentIndex())
#self.label.setText("You have selected " +text)
print(text)`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。