Евгений Asked:2021-11-28 18:59:05 +0000 UTC2021-11-28 18:59:05 +0000 UTC 2021-11-28 18:59:05 +0000 UTC 显示所有 PyQT5 窗口的小部件 772 告诉我,PyQt5 中的小部件是什么,它会在窗口顶部显示所有窗口的列表(如按钮,在照片中这些是“第一个窗口”和“第二个窗口”)以及当您单击此窗口时, 它打开。它不是在新窗口中打开,而是在同一个窗口中打开: QAction在此选项中它将不起作用,按下时会打开一个新窗口(即,现在有 2 个窗口处于活动状态),但有必要将所有内容显示在一个窗口上,以便您可以无限次以这种方式切换. python 1 个回答 Voted Best Answer S. Nick 2021-11-28T19:16:13Z2021-11-28T19:16:13Z t 类提供了一个小部件堆栈,QStackedWidge其中一次只有一个小部件可见。 import sys from PyQt5.Qt import * class StackedExample(QWidget): def __init__(self): super(StackedExample, self).__init__() self.setWindowTitle('StackedWidget demo') self.leftlist = QListWidget() self.leftlist.currentRowChanged.connect(self.display) self.leftlist.insertItem (0, 'Contact' ) self.leftlist.insertItem (1, 'Personal' ) self.leftlist.insertItem (2, 'Educational' ) self.stack1 = QWidget() self.stack2 = QWidget() self.stack3 = QWidget() self.stack1UI() self.stack2UI() self.stack3UI() self.stackWidget = QStackedWidget(self) self.stackWidget.addWidget(self.stack1) self.stackWidget.addWidget(self.stack2) self.stackWidget.addWidget(self.stack3) hbox = QHBoxLayout(self) hbox.addWidget(self.leftlist) hbox.addWidget(self.stackWidget) self.setLayout(hbox) self.stackWidget.setCurrentIndex(0) def stack1UI(self): layout = QFormLayout() layout.addRow("Name", QLineEdit()) layout.addRow("Address", QLineEdit()) #self.setTabText(0,"Contact Details") self.stack1.setLayout(layout) def stack2UI(self): layout = QFormLayout() sex = QHBoxLayout() sex.addWidget(QRadioButton("Male")) sex.addWidget(QRadioButton("Female")) layout.addRow(QLabel("Sex"),sex) layout.addRow("Date of Birth",QLineEdit()) self.stack2.setLayout(layout) def stack3UI(self): layout = QHBoxLayout() layout.addWidget(QLabel("subjects")) layout.addWidget(QCheckBox("Physics")) layout.addWidget(QCheckBox("Maths")) self.stack3.setLayout(layout) def display(self, i): self.stackWidget.setCurrentIndex(i) if __name__ == '__main__': app = QApplication(sys.argv) ex = StackedExample() ex.resize(100, 100) ex.show() sys.exit(app.exec_())
t 类提供了一个小部件堆栈,
QStackedWidge其中一次只有一个小部件可见。