QT中如何设置QStackedWidget位于窗口的居中位置,具体代码或操作
时间: 2024-05-02 18:19:10 浏览: 206
方法如下:
可以使用QVBoxLayout和setAlignment函数将QStackedWidget居中。
具体的代码如下:
```python
import sys
from PyQt5 import QtWidgets
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
# 创建QStackedWidget
self.stack_widget = QtWidgets.QStackedWidget(self)
# 添加需要的子窗口(这里添加两个)
self.widget1 = QtWidgets.QWidget(self)
self.widget2 = QtWidgets.QWidget(self)
self.stack_widget.addWidget(self.widget1)
self.stack_widget.addWidget(self.widget2)
# 创建QVBoxLayout
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(self.stack_widget)
# 将stackWidget放在窗口的中央
central_widget = QtWidgets.QWidget()
central_widget.setLayout(vbox)
self.setCentralWidget(central_widget)
# 设置窗口的大小和标题
self.resize(300, 200)
self.setWindowTitle('QStackedWidget居中示例')
def changePage(self, index):
# 切换子窗口
self.stack_widget.setCurrentIndex(index)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个示例中创建了一个窗口,并在其中添加了QStackedWidget作为子窗口,并将QStackedWidget居中显示。同时,还在函数changePage中添加了切换子窗口的功能。
当然,如果你想在QT Designer中设置QStackedWidget在窗口的居中位置,可以使用垂直布局的方式,并将QStackedWidget插入到垂直布局中,然后在布局上右键,选择“布局对齐”,选择“居中对齐”即可。
阅读全文