1、把ui界面的自动拉伸改为自由拉伸
选中MainWindow,,然后按Ctrl + 0即可实现,其他插件放上去可以自由拉伸

2、多页切换效果
- 
拖控件
- 
左侧工具箱 → Containers 组 → 把 Stacked Widget 拖到窗体。
 - 
默认已经给你 2 页:page、page_2(下面属性里可以改名成 page1、page2)。
 
 - 
 - 
加内容
- 
在 对象查看器 里点 page → 往里面拖按钮、标签、布局,随便放。
 - 
再点 page_2 → 放别的控件。
 - 
想加第 3 页 → 右键 StackedWidget → "Insert Page" → "After Current Page"。
 
 - 
 

3、案件关联到page
- 
在代码里让 PushButton3 点到 page_3
假设你已经用
pyuic5生成了ui_demo.py,在自己的主程序里写: 
from PyQt5.QtWidgets import QMainWindow, QApplication
from ui_demo import Ui_MainWindow # 由 pyuic5 生成的界面文件
class MainWindow(QMainWindow, Ui_MainWindow):
def init(self):
super().init()
self.setupUi(self)
把按钮和第 3 页绑在一起
page_3 的索引是 2(0、1、2 共 3 页)
self.PushButton3.clicked.connect(
lambda: self.stackedWidget.setCurrentIndex(2))
如果喜欢用名字而不是索引,也可以:
self.PushButton3.clicked.connect(
lambda: self.stackedWidget.setCurrentWidget(self.page_3))
if name == 'main':
import sys
app = QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())