PyQt比较受欢迎的地方在于其强大的控件支持,从本篇开始,我将带大家详细了解下PyQt5中的一些常用控件。喜欢Python编程的小伙伴们关注我,后续会推出一些GUI编程相关内容。
欢迎大家关注
QLabel控件是PyQt中一个常用的控件,它不仅可以作为一个占位符显示不可编辑的文本或图片(展示GIF动画图片),还可以被用作提示标记为其他控件;一些纯文本、链接或富文本可以显示在QLabel标签上。
如何给控件贴上标签?
QLabel类
先来看下QLabel类的父类有哪些?
我们之前有一篇文章提到了获取类的多继承顺序的方法,我们使用了inspect模块(参见高楼万丈平地起,基础要打牢!Python获取类的层次结构和继承顺序)。这里,我们看下QLabel的继承顺序是怎样的?
import inspect
from PyQt5.QtWidgets import QLabel
print(inspect.getmro(QLabel))
>>>
(, , , , , , , )
准确的继承顺序应该是这样的:
object>sip.simplewrapper>QPaintDevice>sip.wrapper>QObject>QWidget>QFrame>QLabel
结果得知,QLabel类直接继承自QFrame类。
QLabel常用方法
QLabel常用方法如下:
方法汇总
QLabel常用信号
我们知道,PyQt使用了信号槽的机制来绑定控件响应事件。那么,QLabel中提供的常用信号有哪些呢?主要针对超链接中使用的信号进行说明:
强大的信号和槽机制
linkActivated:单击标签中的超链接(此时,希望在新窗口中打开该链接,setOpenExternalLinks必须设置为True)
linkHovered:鼠标指针划过标签的超链接
应用案例
使用标签显示图片、文本、超链接
我们使用标签控件实现下面的界面:
程序最终实现效果
第一个标签是绿色背景文本标签;第二个标签是个超链接标签,当鼠标经过时,打印信息;第三个标签用于显示Pixmap图像;第四个标签超链接百度搜索关键字Python,单击该标签时,浏览器窗口打开百度搜索Python的内容。
开始吧
不赘述,直接上代码如下图所示。
导入模块及创建4个标签类
设置标签属性及类应用
好了,成功完成了上述功能。
setBuddy()方法应用案例
上面提到了可以设置标签的Buddy(伙伴),将标签和另一个QWidget控件绑定(暂时这么称呼),然后当使用快捷键时,焦点自动转到标签对应的伙伴上面,这样,提高了用户交互的便利性。尤其是在进行大量文本输入时,这种方式很实用。
我们看下面的例子:
setBuddy()方法应用案例
本例中,当我们按下快捷键"Alt+P"时,焦点自动转移到密码输入框中,其它快捷键依次类推。
关注我,后续会有精彩内容
好了,今天的内容就到这里了。主要演示了常用控件QLabel的用法。喜欢Python编程的小伙伴们关注我,后续推出更多关于PyQt控件相关内容,便于大家建立一个自己的GUI程序界面框架。
转载请注明出处,百家号:Python高手养成