pyqt5中-如何设置控件的垂直和水平布局

 时间:2026-02-14 06:12:05

1、创建文件:

①创建新工程文件proA;

②在工程文件夹下,创建文件test.py

③导入模块,sys, pyqt5.qt

pyqt5中-如何设置控件的垂直和水平布局

2、定义类:

① 定义一个类 Mys(QWidget)  继承自 QWidget;

② 定义初始方法,设置类初始值;

pyqt5中-如何设置控件的垂直和水平布局

3、显示顶层窗口:

①实例一个PYQT应用程序对象;app = QApplication(sys.argv) 


②实例窗口类对象。mys=Mys() 
③显示窗口。mys.show()
④退出系统状态 sys.exit(app.exec_()),

例如:正常退出代码 0,显示Process finished with exit code 0

运行程序,显示窗口;

pyqt5中-如何设置控件的垂直和水平布局

1、创建测试控件方法 test_lables(self):

①创建4个标签控件;

②设置背景色,

③设置控件在窗口的布局(大小,及位置)。

运行程序显示窗口。

pyqt5中-如何设置控件的垂直和水平布局

2、这种情况子控件不能同步缩放(如图)。如果子控件需要同步主窗口缩放,必须用 resizeEvent() 方法来实现,代码会增加很多。

PYQT 有专门的布局管理器来处理子控件的布局,可有效解决这种情况,当控件比较多少时,布局管理器是非常方便的。

pyqt5中-如何设置控件的垂直和水平布局

3、创建垂直布局对象:

①由 QVBoxLayout 类实例一个垂直布局对象;layout_v=QVBoxLayout ()

需要说明的是,不必要为layout_v 设置父对象(也就是前面不必添加self)。包括子控件都不需要父对象,因为接下来的步骤,是父对象的方法会去调用它。

②最好将子控件的父对象取消。并取消子控件的resize(),和move()设置;

pyqt5中-如何设置控件的垂直和水平布局

4、①使用 addWidget(QWidget)方法,将子控件加入垂直布局(设置布局对象参数);参数是子控件对象。

②给主窗口对象设置布局,使用 setLayout(layout_v);参数是布局对象。

pyqt5中-如何设置控件的垂直和水平布局

5、运行程序,展示了子控件的布局。而且子控件会同步跟随主窗口缩放。

pyqt5中-如何设置控件的垂直和水平布局

6、布局的间距设置:

①设置子控件外边距 layout_v.setContentsMargins(10,20,30,40)

参数分别是 左,上,右,下 的边距。

②设置子控件间的间距 layout_v.setSpacing(20)

pyqt5中-如何设置控件的垂直和水平布局

1、与垂直布局基本相同,只是使用的函数不同。

将垂直布局的设置取消,

①创建垂直布局对象:由 QHBoxLayout 类实例一个水平布局对象;layout_h=QHBoxLayout ()

②用布局的 addWidget() 方法 给布局对象添加子控件;

③用父控件setLayout(layout_h) 方法设置布局为垂直布局。

展示结果如图。

pyqt5中-如何设置控件的垂直和水平布局

2、间距,及方向设置;

① 同样可以使用布局的间距函数:setContentsMargins(), setSpacing()

② 在水平布局中可以使用 父控件的 setLayoutDirection(Qt.LayoutDirection) 方法,设置子控件的排列方向

---参数有: LeftToRight 或 0; RightToLeft  或 1; LayoutDirectionAuto 或 2

如图:参数为1,标签的顺序改变了。

pyqt5中-如何设置控件的垂直和水平布局

  • onchange()事件不触发 不起作用
  • Eclipse教程:如何删除Java/Android项目
  • MySQL Workbench8怎么创建数据库实体表?
  • 如何使用eclipse软件建类
  • 如何在myeclipse中快速找到编译后的class文件
  • 热门搜索
    娃娃鱼的做法 鸡翅根的做法大全家常 炖鸡的做法 蒸肉粉的做法 电子手表怎么调时间 臊子面的做法 堪怎么读 筋头巴脑的做法 隽怎么读 龙须菜的做法