PyQt5(八):ui设置为可以手动随意拉伸功能

1、把ui界面的自动拉伸改为自由拉伸

选中MainWindow,,然后按Ctrl + 0即可实现,其他插件放上去可以自由拉伸

2、多页切换效果

  1. 拖控件

    • 左侧工具箱 → Containers 组 → 把 Stacked Widget 拖到窗体。

    • 默认已经给你 2 页:page、page_2(下面属性里可以改名成 page1、page2)。

  2. 加内容

    • 在 对象查看器 里点 page → 往里面拖按钮、标签、布局,随便放。

    • 再点 page_2 → 放别的控件。

    • 想加第 3 页 → 右键 StackedWidget → "Insert Page" → "After Current Page"。

3、案件关联到page

  1. 在代码里让 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_())

相关推荐
第九序言T2 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
qq_426003962 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
龙亘川3 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人3 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1004 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真5 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy15 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫126 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切6 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
Wang's Blog7 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友