Qt Designer+PyQt5 控件使用经验(不定时随缘更新)

本文介绍了如何利用Qt Designer进行布局管理、设置样式表、创建超链接和自定义图标。在PyQt5部分,讲解了事件绑定、输入框前端校验、自定义信号、QMessageBox使用,以及单选按钮和QTimer的应用。此外,还分享了在任务栏显示自定义图标的解决方法。
摘要由CSDN通过智能技术生成

Qt Designer

灵活使用布局

使用ctrl键多选多个控件,可为选中的控件添加布局:
在这里插入图片描述
也可在上侧工具栏找到快捷图标:
在这里插入图片描述

以两个控件使用垂直布局(VerticalLayout)为例:
在这里插入图片描述

  • 4个Margin属性
    设置layout内四周的间隔,可以将此layout内控件与外部控件隔离开。
  • layoutSpacing属性
    设置内部控件之间的间隔。
  • layoutStretch属性
    调整内部控件站位比(上图显示:0,0,表面两个控件平分该布局空间),根据需要自行调整。

各控件使用各种layout布局整完后,可在窗体全局使用一个布局自动排列各部件,并随窗体大小改变控件大小。

若布局内控件大小不符合要求,如按钮过大,可添加空白占位控件:
在这里插入图片描述
示例:
在这里插入图片描述

stylesheet

许多基础的控件外观都无法直接在属性编辑器面板设置(如背景色,边框样式等),(Winform yyds!!!),但是可以在控件的styleSheel属性内编辑css代码,设置控件的样式。

藏在角落的styleSheet属性:(若找不到可在Fileter内搜索)
在这里插入图片描述

点击空白处,出现三个点的按钮,点击进入编辑器即可编辑css代码:
在这里插入图片描述
在这里插入图片描述
编辑完有效样式表代码后点击OK即可应用样式。

  • *表示当前控件及其子控件全部应用的样式;
  • #后紧跟的控件名(不含空格,上图仅为示意)表示该块样式应用于该控件。
  • 直接使用控件类名:会影响所有该控件以及控件的子类。

具体样式请自行学习CSS代码。
友情链接:W3 School CSS学习

在文本中使用超链接

以label为例,在text属性,点击【…】:
在这里插入图片描述
在弹出的界面选中文字后点击地球样式的图标:(也可直接点击插入链接设置连接显示的文字)
在这里插入图片描述
输入URL:
在这里插入图片描述
点击【OK】,点击【确定】
可以看到text属性变为了一串html代码。(为方便展示此处显示我添加了换行符,实际上text属性就一行,无伤大雅。)
注: 弹窗框QMessageBox的消息也可以使用html代码实现超链接。

<html>
<head/>
<body>
<p>
<a href="www.csdn.net">
<span style=" text-decoration: underline; color:#0000ff;">(请选择)</span>
</a>
</p>
</body>
</html>

然后在底部的【textInteractionFlags】属性,设置以下三种方案,可以实现超链接:

  1. 勾选LinksAccessibleByMouse
  2. 勾选LinksAccessibleByMouse和LinksAccessibleByKeyboard
  3. 勾选TextBrowserInteraction
    在这里插入图片描述

参考资料:QLabel实现超链接——百度经验

自定义图标

选择窗体,找到WindowIcon属性点击右边的小三角(▼)(注意不要点到【…】),点击选择文件,可选择图标文件。
选择图标后会在窗口右上角和任务栏显示选择的图标,若任务栏无法显示,参考文章下半部分PyQt5节的自定义图标设置。
在这里插入图片描述

PyQt5

事件的绑定

在窗体的init魔法方法中,调用专门用于绑定各种事件的方法。

# 以MainWindow为例,Ui_MyWindow为pyuic转换.ui文件后窗体默认的类名
class MyWindow(QMainWindow, Ui_MyWindow):

	def __init__(self parent=None):
		super(MyWindow, self).__init__(parent)
        self.setupUi(self)
        self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值