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_())

相关推荐
励志的小陈4 小时前
贪吃蛇(C语言实现,API)
c语言·开发语言
Makoto_Kimur4 小时前
java开发面试-AI Coding速成
java·开发语言
laowangpython4 小时前
Gurobi求解器Matlab安装配置教程
开发语言·其他·matlab
wengqidaifeng4 小时前
python启航:1.基础语法知识
开发语言·python
观北海5 小时前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
小短腿的代码世界6 小时前
Qt Concurrent 深度解析:并发编程范式与源码级实现原理
qt·系统架构·lucene
Ulyanov6 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
码界筑梦坊6 小时前
357-基于Java的大型商场应急预案管理系统
java·开发语言·毕业设计·知识分享
anzhxu6 小时前
Go基础之环境搭建
开发语言·后端·golang
ai_coder_ai7 小时前
自动化脚本ui编程之垂直滚动布局(vscroll)
ui·autojs·自动化脚本·冰狐智能辅助·easyclick