Qt Designer
灵活使用布局
使用ctrl键多选多个控件,可为选中的控件添加布局:
也可在上侧工具栏找到快捷图标:
以两个控件使用垂直布局(VerticalLayout)为例:
- 4个Margin属性
设置layout内四周的间隔,可以将此layout内控件与外部控件隔离开。 - layoutSpacing属性
设置内部控件之间的间隔。 - layoutStretch属性
调整内部控件站位比(上图显示:0,0,表面两个控件平分该布局空间),根据需要自行调整。
各控件使用各种layout布局整完后,可在窗体全局使用一个布局自动排列各部件,并随窗体大小改变控件大小。
若布局内控件大小不符合要求,如按钮过大,可添加空白占位控件:
示例:
stylesheet
许多基础的控件外观都无法直接在属性编辑器面板设置(如背景色,边框样式等),(Winform yyds!!!),但是可以在控件的stylesheel属性内编辑css代码,设置控件的样式。
藏在角落的stylesheet属性:(若找不到可在Fileter内搜索)
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=5a8a86d0aad84cb7b13089be5a72d1fe.png)
点击空白处,出现三个点的按钮,点击进入编辑器即可编辑css代码:
编辑完有效样式表代码后点击OK即可应用样式。
-
*
表示当前控件及其子控件全部应用的样式; -
#
后紧跟的控件名(不含空格,上图仅为示意)表示该块样式应用于该控件。
具体样式请自行学习CSS代码。
友情链接:W3 School CSS学习
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.init_bind()
def init_bind():
self.pushbtn.clicked.connect(self.btn_click)
self.rdoBtn.toggled.connect(self.radio_toggle)
self.lineEdit.textEdited.connect(self.line_edited)
def btn_click(self):
# 按钮点击事件
pass
def radio_toggle(self):
# 单选按钮选中/取消选中事件
pass
def line_edited(self):
# 单行文本LineEdit内容编辑事件
pass
QMessageBox消息弹出框
首先需要导入:
from PyQt5.QtWidgets import QMessageBox
普通消息:
- information:左边显示一个蓝色的圆内一个白色的 i 图标
- warning:黄色三角内黑色感叹号
- critical:红色圈内白色叉
- question:蓝色圈内白色问号
QMessageBox.information(self, "标题", "内容")
选择性消息(用于二次确认框,关闭窗体等):
reply = QMessageBox.question(self, "标题",
"内容",
QMessageBox.Ok | QMessageBox.Cancel)
if reply == QMessageBox.Ok:
# 点击了OK的逻辑
pass
可参考:qt5信息提示框QMessageBox用法(非python语言)