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

相关推荐
用户805533698035 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner5 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz10 天前
QML Hello World 入门示例
qt
xcyxiner13 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner14 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner14 天前
DicomViewer (添加模型类)3
qt
xcyxiner15 天前
DicomViewer (目录调整) 2
qt
xcyxiner15 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR00617 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术17 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript