PyQt5控件使用总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、常用控件及其方法

1. QLabel
功能:用于显示文本或图片。
常用方法:
setText(text):设置显示的文本。
setPixmap(pixmap):设置显示的图片。
setAlignment(alignment):设置文本对齐方式(如 Qt.AlignCenter)。
2. QLineEdit
功能:单行文本输入框。
常用方法:
setText(text):设置输入框的文本。
text():获取输入框的文本。
setPlaceholderText(text):设置占位符文本。
3. QPushButton
功能:按钮控件。
常用方法:
setText(text):设置按钮文本。
clicked.connect(slot):绑定点击事件。
4. QCheckBox
功能:复选框控件。
常用方法:
setChecked(state):设置复选框的状态(True 或 False)。
toggled.connect(slot):绑定状态变化事件。
5. QRadioButton
功能:单选按钮。
常用方法:
setChecked(state):设置按钮状态。
toggled.connect(slot):绑定状态变化事件。
6. QComboBox
功能:下拉选择框。
常用方法:
addItem(text):添加选项。
currentIndexChanged.connect(slot):绑定选项变化事件。
currentText():获取当前选中的文本。
7. QListWidget
功能:列表控件。
常用方法:
addItem(item):添加列表项。
itemClicked.connect(slot):绑定列表项点击事件。
takeItem(row):移除指定行的项。
8. QTreeWidget
功能:树形控件。
常用方法:
addTopLevelItem(item):添加顶层节点。
setHeaderLabels(labels):设置表头。
9. QSlider
功能:滑动条控件。
常用方法:
setValue(value):设置滑动条的值。
valueChanged.connect(slot):绑定值变化事件。
10. QProgressBar
功能:进度条控件。
常用方法:
setValue(value):设置进度条的值。
setMaximum(max):设置最大值。
11. QTextEdit
功能:多行文本输入框,支持富文本和HTML。
常用方法:
setText(text):设置文本内容。
toPlainText():获取纯文本内容。
setHtml(html):设置HTML内容。
append(text):追加文本。
12. QDateTimeEdit
功能:日期和时间选择框。
常用方法:
setDate(date):设置日期。
setTime(time):设置时间。
dateTimeChanged.connect(slot):绑定日期时间变化事件。
13. QSpinBox
功能:数字输入框,支持自增自减。
常用方法:
setValue(value):设置当前值。
setRange(min, max):设置值的范围。
valueChanged.connect(slot):绑定值变化事件。
14. QDoubleSpinBox
功能:浮点数输入框。
常用方法:
setValue(value):设置当前值。
setRange(min, max):设置值的范围。
valueChanged.connect(slot):绑定值变化事件。
15. QGroupBox
功能:分组框,用于将控件分组。
常用方法:
setTitle(title):设置分组标题。
setCheckable(True):使分组框可选。
16. QTabWidget
功能:选项卡控件。
常用方法:
addTab(widget, label):添加选项卡。
setCurrentIndex(index):设置当前显示的选项卡。
currentChanged.connect(slot):绑定选项卡切换事件。
17. QScrollArea
功能:滚动区域,用于显示可滚动的内容。
常用方法:
setWidget(widget):设置滚动区域的内容。
setWidgetResizable(True):允许内容自适应滚动区域。
18. QSplitter
功能:分割窗口,用于动态调整控件大小。
常用方法:
addWidget(widget):添加控件到分割窗口。
setOrientation(orientation):设置分割方向(水平或垂直)。
19. QStackedWidget
功能:堆叠窗口,用于切换显示不同的页面。
常用方法:
addWidget(widget):添加页面。
setCurrentIndex(index):切换显示的页面。
currentChanged.connect(slot):绑定页面切换事件。
20. QDial
功能:旋钮控件,用于选择数值。
常用方法:
setValue(value):设置当前值。
setRange(min, max):设置值的范围。
valueChanged.connect(slot):绑定值变化事件。

二、弹窗控件及其方法

1. QMessageBox
功能:消息提示框。
常用方法:
QMessageBox.information(parent, title, message):显示信息对话框。
QMessageBox.warning(parent, title, message):显示警告对话框。
QMessageBox.question(parent, title, message):显示问题对话框。
2. QInputDialog
功能:输入对话框。
常用方法:
QInputDialog.getText(parent, title, label):获取字符串输入。
QInputDialog.getInt(parent, title, label):获取整数输入。
QInputDialog.getItem(parent, title, label, items):从列表中选择一个选项。
3. QFileDialog
功能:文件选择对话框。
常用方法:
QFileDialog.getOpenFileName(parent, title, directory):选择单个文件。
QFileDialog.getOpenFileNames(parent, title, directory):选择多个文件。
QFileDialog.getExistingDirectory(parent, title):选择文件夹
4. QColorDialog
功能:颜色选择对话框。
常用方法:
QColorDialog.getColor(initial, parent):打开颜色选择对话框。
5. QFontDialog
功能:字体选择对话框。
常用方法:
QFontDialog.getFont(parent):打开字体选择对话框。
6. QCalendarWidget
功能:日历控件。
常用方法:
setSelectedDate(date):设置选中的日期。
selectionChanged.connect(slot):绑定日期选择变化事件。
7. QGraphicsView/QGraphicsScene
功能:用于绘制和显示复杂的图形场景。
常用方法:
scene():获取场景对象。
addItem(item):在场景中添加图形项。
8. QTableWidget
功能:表格控件。
常用方法:
setRowCount(rows):设置行数。
setColumnCount(columns):设置列数。
setItem(row, column, item):设置单元格内容。
cellClicked.connect(slot):绑定单元格点击事件。

三、其他工具和模块

1. QTimer
功能:定时器,用于周期性任务。
常用方法:
start(interval):启动定时器。
timeout.connect(slot):绑定超时事件。
2. QIcon
功能:用于加载和显示图标。
常用方法:
QIcon(path):加载图标文件。
setWindowIcon(icon):设置窗口图标。
3. QCursor
功能:用于设置鼠标光标样式。
常用方法:
setCursor(Qt.CursorShape):设置光标样式。
4. QPainter
功能:用于自定义绘制。
常用方法:
begin(widget):开始绘制。
drawText(rect, text):绘制文本。
drawRect(rect):绘制矩形。
end():结束绘制。
5. QStyle/QProxyStyle
功能:用于自定义控件的外观和风格。
常用方法:
setStyle(style):设置控件风格。
polish(widget):应用样式。
6. QSettings
功能:用于保存和加载应用程序设置。
常用方法:
setValue(key, value):保存设置。
value(key):获取设置值。

四、QtGui 模块中的重要类和函数

1. QGuiApplication
功能:Qt GUI 应用程序的主类,负责管理事件循环和应用程序的初始化与结束。
常用方法:
exec():启动应用程序的事件循环。
processEvents():处理所有待处理的事件。
2. QWindow
功能:表示底层窗口系统中的窗口,用于处理窗口事件。
常用方法:
show():显示窗口。
close():关闭窗口。
setSurfaceType(QSurface::OpenGLSurface):设置窗口为 OpenGL 渲染模式。
3. QPainter
功能:用于在绘图设备(如窗口、图像等)上进行绘制。
常用方法:
begin(device):开始在指定设备上绘制。
drawText(x, y, text):在指定位置绘制文本。
drawRect(x, y, width, height):绘制矩形。
fillRect(x, y, width, height, brush):填充矩形区域。
4. QImage
功能:用于处理图像数据。
常用方法:
load(filename):加载图像文件。
save(filename):保存图像到文件。
scaled(width, height):调整图像大小。
5. QPixmap
功能:用于处理光栅图像。
常用方法:
load(filename):加载图像文件。
scaled(width, height):调整图像大小。
6. QClipboard
功能:用于访问系统剪贴板。
常用方法:
setText(text):将文本复制到剪贴板。
text():从剪贴板获取文本。
7. QMouseEvent
功能:表示鼠标事件。
常用方法:
pos():获取鼠标事件的位置。
button():获取触发事件的鼠标按钮。
8. QKeyEvent
功能:表示键盘事件。
常用方法:
key():获取按键的键值。
text():获取按键对应的字符。
9. QPaintEvent
功能:表示绘图事件。
常用方法:
rect():获取需要重绘的区域。
10. QOpenGLContext
功能:用于管理 OpenGL 上下文。
常用方法:
create():创建 OpenGL 上下文。
makeCurrent(surface):将上下文设置为当前上下文。
11. QScreen
功能:表示显示屏幕。
常用方法:
availableGeometry():获取屏幕可用区域的几何信息。
size():获取屏幕的分辨率。
12. QCursor
功能:用于设置和获取鼠标光标。
常用方法:
setShape(shape):设置光标形状。
pos():获取光标位置。
13. QDrag
功能:用于实现拖放操作。
常用方法:
setPixmap(pixmap):设置拖放时的图标。
exec():启动拖放操作。
14. QColor
功能:用于表示颜色。
常用方法:
setRgb(r, g, b):设置颜色的 RGB 值。
name():获取颜色的十六进制表示。
15. QBrush
功能:用于填充图形。
常用方法:
setTexture(image):设置填充纹理。
setStyle(style):设置填充样式。
其他重要类
QIcon:用于加载和显示图标。
QFont:用于设置和管理字体。
QTextDocument:用于处理富文本。
QMovie:用于显示动画。
QWheelEvent:表示鼠标滚轮事件。
QResizeEvent:表示窗口大小调整事件


声明:
本文为本人的学习笔记,旨在记录和分享个人在学习过程中的心得体会和原创代码。由于本人刚入门,对相关知识的理解可能还存在不足之处,文章中难免会有错误或不准确的地方。在此,我诚挚地欢迎各位读者在阅读过程中,如果发现任何问题或有其他建议,随时在评论区或通过其他方式与我交流。我将虚心听取大家的意见,及时修正和改进文章内容,以便更好地学习和成长。感谢大家的关注和支持!


### PyQt5 常见控件介绍 PyQt5Python 中用于开发图形界面应用程序的强大工具包,提供了丰富的 GUI 控件以满足各种需求。以下是常见控件的详细介绍以及其用法示例。 #### 1. **QLabel** `QLabel` 是一个简单的文本显示控件,可以用来展示静态文字或图片。 ```python from PyQt5.QtWidgets import QApplication, QLabel, QWidget app = QApplication([]) window = QWidget() label = QLabel('Hello, PyQt!', parent=window) label.move(50, 50) # 设置标签位置 window.resize(300, 200) # 调整窗口大小 window.show() app.exec_() ``` #### 2. **QPushButton** `QPushButton` 是一个按钮控件,通常用于触发某些操作。 ```python from PyQt5.QtWidgets import QApplication, QPushButton, QWidget def on_button_click(): print("Button clicked!") app = QApplication([]) window = QWidget() button = QPushButton('Click Me', parent=window) button.clicked.connect(on_button_click) # 连接点击信号到槽函数 button.move(50, 50) window.resize(300, 200) window.show() app.exec_() ``` #### 3. **QLineEdit** `QLineEdit` 提供了一个单行输入框,允许用户输入文本。 ```python from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget app = QApplication([]) window = QWidget() line_edit = QLineEdit(parent=window) line_edit.setText("Default text") # 设置默认文本 line_edit.move(50, 50) window.resize(300, 200) window.show() app.exec_() ``` #### 4. **QCheckBox** `QCheckBox` 是一个复选框控件,支持多选项的选择。 ```python from PyQt5.QtWidgets import QApplication, QCheckBox, QWidget def on_check_state_changed(state): print(f"Checkbox state changed to {state}") app = QApplication([]) window = QWidget() checkbox = QCheckBox('Check me', parent=window) checkbox.stateChanged.connect(on_check_state_changed) # 绑定状态变化信号 checkbox.move(50, 50) window.resize(300, 200) window.show() app.exec_() ``` #### 5. **QRadioButton** `QRadioButton` 是一组互斥的选项按钮,一次只能选择其中一个。 ```python from PyQt5.QtWidgets import QApplication, QRadioButton, QWidget def on_radio_clicked(): print("Radio button clicked") app = QApplication([]) window = QWidget() radio1 = QRadioButton('Option 1', parent=window) radio2 = QRadioButton('Option 2', parent=window) radio1.setChecked(True) # 默认选中第一个 radio1.toggled.connect(on_radio_clicked) # 绑定切换信号 radio2.toggled.connect(on_radio_clicked) radio1.move(50, 50) radio2.move(50, 80) window.resize(300, 200) window.show() app.exec_() ``` #### 6. **QComboBox** `QComboBox` 是一个下拉列表控件,提供多个可选项。 ```python from PyQt5.QtWidgets import QApplication, QComboBox, QWidget def on_combo_selection_change(index): print(f"Selected index: {index}, Text: {combo.currentText()}") app = QApplication([]) window = QWidget() combo = QComboBox(parent=window) combo.addItems(['Item 1', 'Item 2', 'Item 3']) # 添加项目 combo.currentIndexChanged.connect(on_combo_selection_change) # 绑定索引改变信号 combo.move(50, 50) window.resize(300, 200) window.show() app.exec_() ``` #### 7. **QSlider** `QSlider` 是一个滑动条控件,常用于调整数值范围内的参数。 ```python from PyQt5.QtWidgets import QApplication, QSlider, QWidget from PyQt5.QtCore import Qt def on_slider_value_change(value): print(f"Current slider value: {value}") app = QApplication([]) window = QWidget() slider = QSlider(Qt.Horizontal, parent=window) # 创建水平滑动条 slider.setMinimum(0) # 设置最小值 slider.setMaximum(100) # 设置最大值 slider.valueChanged.connect(on_slider_value_change) # 绑定值变化信号 slider.move(50, 50) window.resize(300, 200) window.show() app.exec_() ``` --- ### 总结 上述控件涵盖了 PyQt5 的基础功能[^1],通过这些控件可以构建复杂的用户交互界面。每种控件都有对应的属性和方法来实现不同的效果,开发者可以根据实际需求灵活组合使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值