广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-08-02
    【导读】:
    在pyqt5中设置窗口的垂直布局,和水平布局的步骤;工具/原料morepython3.7 版pycharm 社区版1.设置顶层窗口显示1/3分步阅读

    创建文件:

    ①创建新工程文件proA;

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

    ③导入模块,sys, pyqt5.qt

    2/3

    定义类:

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

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

    3/3

    显示顶层窗口:

    ①实例一个PYQT应用程序对象;app = QApplication(sys.argv)②实例窗口类对象。mys=Mys()③显示窗口。mys.show()④退出系统状态 sys.exit(app.exec_()),

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

    运行程序,显示窗口;

    2. 垂直布局的展示1/6

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

    ①创建4个标签控件;

    ②设置背景色,

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

    运行程序显示窗口。

    2/6

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

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

    3/6

    创建垂直布局对象:

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

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

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

    4/6

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

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

    5/6

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

    6/6

    布局的间距设置:

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

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

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

    3.水平布局的展示1/2

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

    将垂直布局的设置取消,

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

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

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

    展示结果如图。

    2/2

    间距,及方向设置;

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

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

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

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

    PYTHONPYQT5水平布局垂直布局控件间距
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1052393.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 19:31:23  耗时:0.029
    0.0286s