一、概述

在Designer中,显示部件有Label、Text Browser、Calendar Widget、LCD Number、Progress Bar、Horizontal Line和Vertical Line、graphics View、OpenGL Widget。在前两章节已经将最复杂的graphics View、OpenGL Widget进行了介绍,本部分将剩余的显示部件进行一个简单介绍,重点介绍一些特色功能,普通的属性、方法和信号就不介绍了,请大家参考官方文档。

二、Label标签功能简介

Label标签对应类为QLabel,在整个PyQt界面设计中使用非常多,有几个功能需要在此重点说明一下:

  1. QLabel不但能显示文本,而且能显示图片和视频以及富文本,但需要注意,显示富文本时必须是标准HTML4的富文本才能识别,并且建议是短的文本,且不能有不能识别的标记内容,如果有哪怕是textFormat设置为富文本也会导致所有文本内容都不能识别,就将整个html原文完整展示;
  2. 关注一下buddy属性,这个是可以将QLabel和一个其他可以操作的部件进行关联,用户通过输入ALT+QLabel的文档由与符号(&)指定的快捷键就会自动将焦点跳转到关联部件;
  3. 关注一下textInteractionFlags属性,这个属性可以指定对QLabel中文本的操作响应方式;
  4. html富文本中的链接点击或鼠标悬停上会触发信号linkActivated、linkHovered。

三、TextBrowser富文本浏览窗

TextBrowser显示部件对应类为 QTextBrowser,可以理解为是一个HTML浏览器部件,QTextBrowser是 QTextEdit的子类,是一种增加了导航功能的QTextEdit的只读模式。

如下几个功能在此重点说一下:

  1. 除了使用QTextEdit的文本操作功能外,还可以通过source属性来指定文本来源一个文件,文件的路径由searchPaths和当前路径来决定;
  2. 对文本中超链可以控制是否可以直接用鼠标和键盘点击打开;
  3. 对于非文件和qrc资源的内容可以控制是否作为外部链接调用web浏览器打开;
  4. 有几个类似浏览器导航的操作触发的信号,包括:anchorClicked、backwardAvailable、forwardAvailable、highlighted、historyChanged、sourceChanged;
  5. 有几个导航历史数据的访问方法,包括:backwardHistoryCount、clearHistory、forwardHistoryCount、historyTitle、historyUrl。

四、Calendar Widget

Calendar Widget部件是一个以月为视图来选择日期的部件,并且默认选中当前日期,可以访问当前展示月的年和月,对应类为QCalendarWidget。

在此说明几点:

  1. 日历的很多外观可以设置,如实现显示星期以及怎么显示,第一列日期从哪个星期日期开始、是否显示每行日期在当年内的周序(取值为:1-53)、周末是否红色标记、年月是否有快速选择栏、是否显示网格等
  2. 获取日期数据时可以通过dateTextFormat、weekdayTextFormat属性设置日期数据的格式
  3. 可以通过翻页信号currentPageChanged获取当前显示的年和月

五、LCD Number

LCD Number部件是个类似数字液晶显示器的部件,功能就是显示数字相关内容,使用非常方便和简单,具体功能请参考官方文档。在此有二点说明如下:

  1. 显示的字符支持0/O、1、2、3、4、5/S、6、7、8、9/g、减号、小数点、A、B、C、D、E、F、h、h、L、O、P、r、u、u、Y、冒号、度数°(在代码中字符串指定其为单引号)和空格。其他字符都不支持,如果某个字母的大小写中只支持一种,要显示字母大小写都会转换成可以支持的大小写形式的相同字母,如R会转成r,a会转成A,其他无法支持的字符QLCDNumber用空格替换

    :上面用反斜杠分隔的字符在展示时是一样的,如展示时5和S实际上都展示的5
  2. 显示的字符无法通过value属性获取,value只能获取对应的数字值,如果要获取对应显示的字符串,可以通过重写display()槽方法来实现。

六、Progress Bar

Progress Bar进度条部件可以用于给用户提示操作处理的进度,可以设置最大值和最小值以及当前值,具体功能请参考官方文档。在此只有一点需要说明:

  • 如果最大值和最小值设置为0,则进度条的进度指示循环移动表示一种忙的状态

七、Horizontal Line和Vertical Line

Horizontal Line和Vertical Line用于在界面上显示一条横线或竖线,实际上这两个部件对应的类就是QFrame(请参考《第15.36节 PyQt(Python+Qt)入门学习:containers容器类部件QFrame框架部件介绍》),只是将QFrame的frameShape属性固定为VLine或HLine。因此在此就不再介绍了。

跟老猿学Python、学5G!

第15.48节、PyQt显示部件:TextBrowser、CalendarWidget、LCDNumber、ProgressBar、Label、HorizontalLine和VerticalLine简的更多相关文章

  1. 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...

  2. 第15.37节 PyQt(Python+Qt)入门学习:containers容器类部件QMdiArea多文档界面部件详解及编程开发案例

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 老猿在前期学习PyQt相关知识时,对每个组件的属性及方法都研 ...

  3. 第15.30节 PyQt编程实战:通过eventFilter监视QScrollArea的widget()的Paint消息画出scrollAreaWidgetContents的范围矩形

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 在<PyQt(Python+Qt)学习随笔:QScrollArea滚动区域详解> ...

  4. 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...

  5. 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解

    老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...

  6. 第15.9节 PyQt学习入门:使用Qt Designer进行GUI设计的步骤

    在使用Qt Designer进行GUI设计时,一般常规的步骤都是差不多的,主要步骤包括新建显示窗口.在窗口上按照规划的布局放置组件.设置初始化组件的属性.定义信号和槽函数的连接,一般后三步是每增加一个 ...

  7. 第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍

    一. 引言 在上节<第15.6节 PyQt5安装与配置>结束了PyQt5的安装和配置过程,本节将编写一个简单的PyQt5应用,介绍基本的PyQt5应用的文件组成及相关工具的使用. 本节的应 ...

  8. 第15.23节 PyQt(Python+Qt)入门学习:Model/View架构中QListView视图配套Model的开发使用

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 QListView理论上可以和所有QAbstractItemModel派生的类如QStri ...

  9. 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解

    一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...

随机推荐

  1. 【SpringBoot】12.全局配置文件(properties)与yml配置文件

    一.SpringBoot全局配置文件 1.修改内嵌容器端口号 #application.properties server.port=8888 2.自定义属性的配置 使用@Value来给成员变量赋值 ...

  2. 【SpringBoot】11-1.Springboot整合Springmvc+Mybatis增删改查操作(下)

    整合过程:https://www.isdxh.com/68.html 一.增--增加用户 1.创建实体类 package com.dxh.pojo; public class Users { priv ...

  3. OJ-2:区间问题【九度1554】

      题目描述: 给定一个数组,判断数组内是否存在一个连续区间,使其和恰好等于给定整数k. 输入: 输入包含多组测试用例,每组测试用例由一个整数n(1<=n<=10000)开头,代表数组的大 ...

  4. create event[]

    一.前言自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系 ...

  5. Docker - 解决重新进入容器后,环境变量失效的问题

    问题背景 在容器中,在 /etc/profile . /etc/environment 设置了环境变量 退出容器,重新进入容器 刚刚设置的环境变量失效了 解决办法 将环境变量设置在 /root/.ba ...

  6. 极客mysql03

    1.务的特性:原子性.一致性.隔离性.持久性 2.多事务同时执行的时候,可能会出现的问题:脏读.不可重复读.幻读 3.事务隔离级别:读未提交.读提交.可重复读.串行化 4.不同事务隔离级别的区别: 读 ...

  7. fcntl函数用法——设置文件锁

    fcntl函数.锁定文件,设置文件锁.设置获取文件锁:F_GETLK .F_SETLK  .F_SETLKW文件锁结构,设置好用于fcntl函数的第三个参数.struct flock{    shor ...

  8. Docker部署spring boot项目

    1.打包 将项目打jar包并传到服务器的一个文件夹中,我的是/opt/docker,注意项目中的mysql配置的IP是服务器公网的ip地址 #数据源设置 spring.datasource.usern ...

  9. javascript九宫格碰撞检测

      JS九宫格碰撞检测这个东西 以前学过  这次主要是做面试项目web版的win10 桌面图片需要用碰撞检测 再写的时候竟然完全忘记了碰撞检测原理 和怎么写 综合来说还是写的太少  今天再学了一下 理 ...

  10. Camtasia处理音频制作BGM

    我们在剪辑自己录制的视频时经常会需要同时对音频进行处理,camtasia是一个可以对视频的音频或者单独的音频文件进行处理的软件,那我们就来看看到底如何使用camtasia 2019(Win)来处理音频 ...