控件
对应QTDesigner中的 左侧控件
- Layouts -- 布局管理
控件名 | 说明 |
---|---|
VerticalLayout | 垂直布局 |
HorizontalLayout | 水平布局 |
GridLayout | 网格布局 |
FormLayout | 表单布局 |
- Spacers -- 弹簧
控件名 | 说明 |
---|---|
HoriziontalSpacer | 水平弹簧 |
VerticalSpacer | 垂直弹簧 |
- Buttons -- 按钮类
控件名 | 说明 |
---|---|
PushButton | 按钮 |
ToolButton | 工具按钮 |
RadioButton | 单选按钮 |
CheckBox | 复选框 |
CommandLinkButton | 命令链接按钮 |
DialogButtonBox | 对话框按钮盒 |
- Item Views(Model-Based) -- 项目视图
控件名 | 说明 |
---|---|
ListView | 列表视图 |
TreeView | 树视图 |
TableView | 表格视图 |
ColumnView | 列视图 |
UndoView | 撤销命令显示视图 |
- Item Widgets(Item-Based) -- 项目控件
控件名 | 说明 |
---|---|
ListWidget | 列表控件 |
TreeWidget | 树控件 |
TableWideget | 表格控件 |
- Containers -- 容器
控件名 | 说明 |
---|---|
GroupBox | 分组框 |
ScrollArea | 滚动区域 |
ToolBox | 工具箱 |
TabWidget | 选项卡 |
StackedWidget | 堆栈窗口 |
Frame | 帧 |
Widget | 小部件 |
MDIArea | MDI区域 |
DockWidget | 停靠窗口 |
- Input Widgets -- 输入控件
控件名 | 说明 |
---|---|
ComboBox | 下拉组合框 |
FontComboBox | 字体组合框 |
LineEdit | 单行文本编辑框 |
TextEdit | 多行文本编辑框 |
PlainTextEdit | 纯文本编辑框 |
SpinBox | 数字选择控件 |
DoubleSpinBox | 小数选择控件 |
TimeEdit | 时间编辑框 |
DateEdit | 日期编辑框 |
DataTimeEdit | 日期时间编辑框 |
Dial | 旋钮 |
HorizontalScrollBar | 横向滚动条 |
VerticalScrollBar | 垂直滚动条 |
HorizontalSlider | 横向滑块 |
VerticalSlider | 垂直滑块 |
KeySequenceEdit | 按钮编辑框 |
- Display Widgets -- 显示控件
控件名 | 说明 |
---|---|
Label | 标签控件 |
Text Browser | 文本浏览器 |
Graphics View | 图形视图 |
Valendar Widget | 日历控件 |
LCDNumber | 液晶数字显示 |
Progress Bar | 进度条 |
HorizontalLine | 水平线 |
Vertical Line | 垂直线 |
OpenGLWidget | 开放式图形库工具 |
QLabel 使用案例
- 标签文本自动换行
其代码为:
self.label.setWordWrap(True)
- 点击标签跳转链接
其代码为:
self.label.setOpenExternalLinks(True) #打开外部链接功能
- 为标签设置图片
其代码为:
self.label.setPixmap(QtGui.QPixmap('图片路径'))
- 获取标签文本
# 获取ui文件中的label控件
mylabel = ui.label
print(mylabel.text())
- 完整的代码:
from PyQt6.QtWidgets import QApplication
from PyQt6 import uic
import sys
if __name__ == '__main__':
app = QApplication(sys.argv) # 创建应用程序对象
# 加载ui文件
ui = uic.loadUi('./标签demo.ui')
# 获取ui文件中的label控件
#mylabel = ui.label
mylabel: QLabel = ui.label # 类型提示 注释
print(mylabel.text())
# 显示窗口(将ui文件内容显示)
ui.show()
sys.exit(app.exec()) # app.exec()进入无限消息循环,监听用户动作
Input Widgets中的单行文本框(Line Edit)
- 使用属性如下:
QLineEdit是单行文本框,该控件只能输入单行字符串。该类的常用方法如下:
方法 | 说明 |
---|---|
setText() | 设置文本框内容 |
text() | 获取文本框内容 |
setPlaceholderText() | 设置文本框浮显文字 |
setMaxLength() | 设置允许在文本框内输入的最大长度 |
setAlignment() | 设置文本对齐方式 |
setReadOnly() | 设置文本框只读 |
setFocus() | 使文本框得到焦点 |
setEchoMode() | 设置文本框显示字符的模式,有以下4种模式。 QLineEdit.Normal:正常显示输入的字符,这是默认设置; QLineEdit.NoEcho:不显示任何输入的字符(不显示输入,只显示); QLineEdit.Password:显示与平台相关的密码掩码字符,而不是实际输入的字符; QLineEdit.PasswordEchoOnEdit:在编辑时显示字符,失去焦点后显示密码掩码字符 |
setValidator() | 设置文本框输入验证器,有以下3种模式。 QIntValidator:限制输入整数; QDoubleValidator:限制输入小数; QRegExpValidator:检查输入是否符合设置的正则表达式 |
setInputMask() | 设置掩码,掩码通常由掩码字符和分隔符组成,后面可以跟一个分号和空白字符,空白字符在编辑完成后会从文本框中删除,常用的掩码字符如下: 日期掩码:0000-00-00; 时间掩码:00:00; 序列号掩码:AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# |
clear() | 清除文本框内容 |