首页 > 其他分享 >17. 分割类控件

17. 分割类控件

时间:2023-12-28 18:12:35浏览次数:31  
标签:__ 控件 分割 17 设置 import 分割线 QFrame

一、分割类控件

  分割类控件主要对窗口中进行功能划分,使窗口看起来更加合理,美观。PySide 中提供了分割线和弹簧两种类型的分割类控件。

  我们可以在终端中使用 pip 安装 pyside 模块。

pip install pyside6

二、分割线

  PySide 提供两个分割线控件,分别是水平分割线(HorizontalLine)和垂直分割线(VerticalLine),但这两个分割线控件对应的类都是 QFrame 类,该类提供了一个 setFrameShape(arg__1) 方法,通过设置该方法的参数,可以将分割线显示为水平或者垂直。

  QFrame 类常用方法及其说明如下:

方法 说明
setFrameShape(arg__1) 设置分割线方向,取值如下:
- QFrame.Shape.HLine:水平分割线
QFrame.Shape.VLine:垂直分割线
setFrameShadow(arg__1) 设置分割线的显示样式,取值如下:
QFrame.Shadow.Plain:无阴影
- QFrame.Shadow.Raised:有边框阴影,并且凸起显示
QFrame.Shadow.Sumken:有边框阴影,并且下沉显示,这是默认设置
setLineWidth(arg__1) 设置分割线宽度
setMidLineWidth(arg__1) 设置分割线中间线的宽度
import sys

from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtWidgets import QFrame

if __name__ == "__main__":
    # 1.创建一个QApplication类的实例
    app = QApplication(sys.argv)

    # 2.创建一个窗口
    w = QMainWindow()

    # 3.设置窗口对象大小
    w.resize(700, 500)

    # 4.创建分割线控件对象,并指定父窗口
    frame = QFrame(w)

    # 5.设置分割线框控件的位置和尺寸
    frame.setGeometry(100, 100, 500, 300)

    # 6.设置分割线方向
    frame.setFrameShape(QFrame.Shape.HLine)

    # 7.设置分割线的显示样式
    frame.setFrameShadow(QFrame.Shadow.Raised)

    # 8.设置分割线宽度
    frame.setLineWidth(10)

    # 9.设置分割线中间线的宽度
    frame.setMidLineWidth(5)

    # 10.展示窗口
    w.show()

    # 11.进入程序的主循环并通过exit()函数确保主循环安全结束
    sys.exit(app.exec())

三、弹簧

  PySide 中提供了两种弹簧,分别是 HorizontalSpacer 和 VerticalSpacer,但这两种控件对应的类都是 QSpacerItem 类,水平和垂直主要通过宽度和高度(水平弹簧默认的宽度和高度分别是 40, 20;而垂直弹簧的默认宽度和高度分别是 20、40)进行区分。

  QSpacerItem 弹簧主要用于布局管理器中,用来使布局管理器中的控件更加合理。

import sys

from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtWidgets import QHBoxLayout, QSpacerItem
from PySide6.QtWidgets import QPushButton

if __name__ == "__main__":
    # 1.创建一个QApplication类的实例
    app = QApplication(sys.argv)

    # 2.创建一个窗口
    w = QWidget()

    # 3.设置窗口对象大小
    w.resize(700, 500)

    # 4.创建布局
    hBoxLayout = QHBoxLayout(w)

    # 5.将按钮添加到水平布局
    pushButton1 = QPushButton("按钮1")
    hBoxLayout.addWidget(pushButton1)

    # 6.创建弹簧,并添加到水平布局中
    spacerItem = QSpacerItem(300, 20)
    hBoxLayout.addSpacerItem(spacerItem)

    pushButton2 = QPushButton("按钮2")
    hBoxLayout.addWidget(pushButton2)

    # 7.展示窗口
    w.show()

    # 8.进入程序的主循环并通过exit()函数确保主循环安全结束
    sys.exit(app.exec())

标签:__,控件,分割,17,设置,import,分割线,QFrame
From: https://www.cnblogs.com/kurome/p/17933267.html

相关文章

  • 【Lidar】Open3D点云K-Means聚类算法:基于距离的点云聚类(单木分割)附Python代码
    ​ 1K-Means算法介绍        K-means聚类算法是一种无监督学习算法,主要用于数据聚类。该算法的主要目标是找到一个数据点的划分,使得每个数据点与其所在簇的质心(即该簇所有数据点的均值)之间的平方距离之和最小。        在K-means聚类算法中,首先需要预定义簇......
  • Ubuntu22安装graalvm JDK17+Tomcat9设置自启动
    graalvmJdk17安装参考 https://blog.csdn.net/weixin_46551671/article/details/134264889 Tomcat安装下载地址https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.84/bin/apache-tomcat-9.0.84.tar.gz安装下载安装包,将安装包上传到/usr/local/目录下执行以下命令tar......
  • 锁定1.17|PolarDB开发者大会,我们将聊些什么?
     大会免费门票领取通道已开启 扫描图片二维码 or点击「报名」即可注册报名 现场还有机会领取多款PolarDB定制礼品 2024年1月17日 北京·嘉瑞文化中心 期待与你相聚~......
  • 2017 考研English英语二
    46.Directions:TranslatethefollowingtextintoChinese.WriteyourtranslationneatlyontheANSWERSHEET.(15points)Mydreamhasalwaysbeentoworksomewhereinanareabetweenfashionandpublishing.Twoyearsbeforegraduatingfromsecondaryschool......
  • [C++ 从入门到精通] 17.基类与派生类关系的详细再探讨
    文章预览:一.派生类对象模型简述二.派生类构造函数三.既当父类又当子类(多继承)四.不想当基类的类final五.静态类型与动态类型六.派生类向基类的隐式类型转换七.父类子类之间的拷贝与赋值一.派生类对象模型简述若一个类,继承自一个父类(基类),那么该类称之为子类(派生类)。并且该......
  • 【CF1917F】Construct Tree
    题目题目链接:https://codeforces.com/contest/1917/problem/F给出\(n\)条边的边权,询问是否可以构造出一棵树,使得所有边都被用上恰好一次且直径为\(d\)。\(n,d\leq2000\)。思路首先肯定是找出一条长度为\(d\)的链,然后判断可不可以把剩下的所有边都挂在这条链的带权重心......
  • 2017 《Java 2实用教程(第5版)》是由耿祥义、张跃平编著
    我的研究生同学河南老乡河南工业大学Jackso_hao大学期间学习的Java教材  《Java2实用教程(第5版)》是由耿祥义、张跃平编著,2017年清华大学出版社出版的高等学校Java课程系列教材、普通高等教育“十一五”国家级规划教材。该教材既可作为高等院校相关专业Java程序设计的教材......
  • 界面控件DevExpress WinForms PDF Viewer,让应用轻松显示PDF文档(二)
    DevExpressWinForms的PDFViewer(查看器)控件使用户可以轻松地在Windows应用程序中直接显示PDF文档,而无需在最终用户的机器上安装外部PDF阅读器。在上文中(点击这里回顾>>)我们为大家介绍了嵌入式PDF查看器、如何浏览PDF文件等,本文将继续介绍PDFViewer的打印、表单功能等,持续关注我......
  • openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作
    openGauss学习笔记-175openGauss数据库运维-备份与恢复-导入数据-管理并发写入操作示例本章节以表test为例,分别介绍相同表的INSERT和DELETE并发,相同表的并发INSERT,相同表的并发UPDATE,以及数据导入和查询的并发的执行详情。CREATETABLEtest(idint,namechar(50),addressva......
  • openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作
    openGauss学习笔记-174openGauss数据库运维-备份与恢复-导入数据-管理并发写入操作174.1事务隔离说明openGauss基于MVCC(多版本并发控制)并结合两阶段锁的方式进行事务管理,其特点是读写之间不阻塞。SELECT是纯读操作,UPDATE和DELETE是读写操作。读写操作和纯读操作之间并不会发......