gpt4 book ai didi

python - 如何在 PyQt4 中创建多页应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:41 27 4
gpt4 key购买 nike

我对这个问题进行了一些研究,但我找不到任何简单的答案或教程来做到这一点。


我正在尝试找到一个小部件,它将使用 QPushButton 在页面之间进行转换。我听说过QStackWidget,但我不太确定如何使用它,我找到了很多教程,但都很难理解。


例如,我有一个窗口类:

import sys
from PyQt4 import QtGui, QtCore

class Window(QtGui.QMainWindow):

如何将 QStackWidget 添加到此类中? (没有任何布局)

如果这样做,我如何使用 QPushButton 切换到特定页面? (在一个索引中添加多个小部件)

extra:是否可以添加某种过渡效果?如褪色等

最佳答案

import sys
from PyQt4 import QtGui, QtCore

class Window(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)

self.stacked_widget = QtGui.QStackedWidget()
self.button = QtGui.QPushButton("Next")

self.button.clicked.connect(self.__next_page)

layout = QtGui.QVBoxLayout()
layout.addWidget(self.stacked_widget)
layout.addWidget(self.button)

widget = QtGui.QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)

self.stacked_widget.addWidget(QtGui.QLabel("Page 1"))
self.stacked_widget.addWidget(QtGui.QLabel("Page 2"))
self.stacked_widget.addWidget(QtGui.QLabel("Page 3"))

def __next_page(self):
idx = self.stacked_widget.currentIndex()
if idx < self.stacked_widget.count() - 1:
self.stacked_widget.setCurrentIndex(idx + 1)
else:
self.stacked_widget.setCurrentIndex(0)

if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
w = Window()
w.show()
sys.exit(app.exec_())

关于python - 如何在 PyQt4 中创建多页应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675609/

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