-
QWidget(窗口):
- 构造函数:
QWidget(parent=None)
- 设置窗口标题:
setWindowTitle(title)
- 设置窗口尺寸:
resize(width, height)
- 显示窗口:
show()
- 关闭窗口:
close()
- 构造函数:
-
QPushButton(按钮):
- 构造函数:
QPushButton(text, parent=None)
- 连接槽函数:
clicked.connect(slot_function)
- 设置按钮文本:
setText(text)
- 构造函数:
-
QLineEdit(单行文本输入框):
- 构造函数:
QLineEdit(parent=None)
- 获取文本内容:
text()
- 设置文本内容:
setText(text)
- 清空文本框:
clear()
- 构造函数:
-
QTextEdit(多行文本输入框):
- 构造函数:
QTextEdit(parent=None)
- 获取文本内容:
toPlainText()
- 设置文本内容:
setPlainText(text)
- 清空文本框:
clear()
- 构造函数:
-
QLabel(标签):
- 构造函数:
QLabel(text, parent=None)
- 设置标签文本:
setText(text)
- 构造函数:
-
QCheckBox(复选框):
- 构造函数:
QCheckBox(text, parent=None)
- 获取复选框状态:
isChecked()
- 设置复选框状态:
setChecked(checked)
- 构造函数:
-
QRadioButton(单选按钮):
- 构造函数:
QRadioButton(text, parent=None)
- 获取单选按钮状态:
isChecked()
- 设置单选按钮状态:
setChecked(checked)
- 构造函数:
-
QComboBox(下拉框):
- 构造函数:
QComboBox(parent=None)
- 添加选项:
addItem(text)
- 获取当前选中项的文本:
currentText()
- 获取当前选中项的索引:
currentIndex()
- 构造函数:
-
QSlider(滑块):
- 构造函数:
QSlider(Qt.Orientation, parent=None)
- 获取滑块值:
value()
- 设置滑块值:
setValue(value)
- 构造函数:
-
QSpinBox(数字输入框):
- 构造函数:
QSpinBox(parent=None)
- 获取数字输入框的值:
value()
- 设置数字输入框的值:
setValue(value)
- 构造函数:
下面是具体的使用并且配合具体的代码做的示例:
1、QWidget(窗口)的示例
import sys
from PyQt5.QtWidgets import QApplication, QWidget
# 创建应用程序对象
app = QApplication(sys.argv)
# 创建QWidget窗口
window = QWidget()
# 设置窗口标题
window.setWindowTitle('My First Qt Window')
# 设置窗口大小
window.resize(400, 300)
# 显示窗口
window.show()
# 运行应用程序主循环
sys.exit(app.exec_())
如果是第一次使用pyqt5的小伙伴可以看一下下面的具体解释:
- 导入
sys
和QApplication
类以及QWidget
类。 - 创建一个
QApplication
对象,这是Qt应用程序的入口点。 - 使用
QWidget
类创建一个窗口对象(窗口是一个基本的用户界面元素)。 - 使用
setWindowTitle
方法设置窗口的标题。 - 使用
resize
方法设置窗口的大小。 - 使用
show
方法显示窗口。 - 最后,使用
sys.exit(app.exec_())
启动Qt应用程序的主循环,使窗口能够响应用户的操作。
下面是代码运行后的样子:
2、QPushButton(按钮)的示例
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
# 创建一个Qt应用程序
app = QApplication(sys.argv)
# 创建一个窗口
window = QWidget()
window.setWindowTitle('QPushButton示例')
window.setGeometry(800, 200, 600, 500) # 设置窗口位置和大小
# 创建一个QPushButton
button = QPushButton('点击我', window)
# 定义按钮点击事件的处理函数
def on_button_click():
button.setText('被点击了')
# 将按钮的点击事件与处理函数关联
button.clicked.connect(on_button_click)
# 显示窗口
window.show()
# 运行应用程序
sys.exit(app.exec_())
运行示例:
点击按钮后:
3、QLineEdit(单行文本输入框)示例
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLineEdit
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle('QLineEdit 示例')
line_edit = QLineEdit(self)
line_edit.setGeometry(50, 50, 200, 30)
line_edit.setPlaceholderText('请输入文本...')
line_edit.textChanged.connect(self.on_text_changed)
def on_text_changed(self, text):
print('文本内容变化:', text)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例:
4、QTextEdit(多行文本输入框)示例
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle('QTextEdit 示例')
text_edit = QTextEdit(self)
text_edit.setGeometry(50, 50, 300, 200)
# 设置默认文本内容
text_edit.setPlainText('这是一个多行文本输入框。\n可以输入和编辑多行文本。')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例:
5、QCheckBox(复选框)示例
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QCheckBox
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle('QCheckBox 示例')
# 创建复选框
checkbox = QCheckBox('选择这个选项', self)
checkbox.setGeometry(50, 50, 200, 30)
# 设置复选框的初始状态
checkbox.setChecked(True)
# 连接复选框的状态改变事件到自定义槽函数
checkbox.stateChanged.connect(self.checkboxStateChanged)
def checkboxStateChanged(self, state):
if state == 2: # 2 表示选中状态
print('复选框被选中了')
else:
print('复选框被取消选中')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例:
6、 QRadioButton(单选按钮)示例
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QRadioButton, QVBoxLayout, QWidget
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle('QRadioButton 示例')
# 创建一个部件来容纳单选按钮
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
# 创建两个单选按钮
radiobutton1 = QRadioButton('选项1', self)
radiobutton2 = QRadioButton('选项2', self)
# 设置一个初始选中的单选按钮
radiobutton1.setChecked(True)
# 将单选按钮添加到布局中
layout.addWidget(radiobutton1)
layout.addWidget(radiobutton2)
# 连接单选按钮的点击事件到自定义槽函数
radiobutton1.clicked.connect(self.radioButtonClicked)
radiobutton2.clicked.connect(self.radioButtonClicked)
def radioButtonClicked(self):
sender = self.sender()
if sender.isChecked():
print(f'{sender.text()} 被选中了')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例:
7、 QComboBox(下拉框)示例
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QComboBox, QVBoxLayout, QWidget
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 200)
self.setWindowTitle('QComboBox 示例')
# 创建一个部件来容纳下拉框
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
# 创建一个下拉框并添加选项
combo_box = QComboBox(self)
combo_box.addItem('选项1')
combo_box.addItem('选项2')
combo_box.addItem('选项3')
# 连接下拉框的选项改变事件到自定义槽函数
combo_box.currentIndexChanged.connect(self.comboBoxChanged)
# 将下拉框添加到布局中
layout.addWidget(combo_box)
def comboBoxChanged(self, index):
combo_box = self.sender()
selected_option = combo_box.currentText()
print(f'选中的选项是: {selected_option}')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例:
8、QSlider(滑块)实例
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow, QSlider, QVBoxLayout, QWidget, QLabel
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 200)
self.setWindowTitle('QSlider 示例')
# 创建一个部件来容纳滑块
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
# 创建一个水平滑块
slider = QSlider(Qt.Horizontal, self)
slider.setMinimum(0)
slider.setMaximum(100)
slider.setValue(50)
# 创建一个标签用于显示滑块的值
self.label = QLabel('当前值: 50', self)
# 连接滑块的值改变事件到自定义槽函数
slider.valueChanged.connect(self.sliderValueChanged)
# 将滑块和标签添加到布局中
layout.addWidget(slider)
layout.addWidget(self.label)
def sliderValueChanged(self, value):
self.label.setText(f'当前值: {value}')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例:
9、 QSpinBox(数字输入框)示例
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QSpinBox, QVBoxLayout, QWidget, QLabel
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 400, 200)
self.setWindowTitle('QSpinBox 示例')
# 创建一个部件来容纳数字输入框
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
layout = QVBoxLayout(central_widget)
# 创建一个数字输入框
spin_box = QSpinBox(self)
spin_box.setMinimum(0)
spin_box.setMaximum(100)
spin_box.setValue(50)
# 创建一个标签用于显示输入框的值
self.label = QLabel('当前值: 50', self)
# 连接输入框的值改变事件到自定义槽函数
spin_box.valueChanged.connect(self.spinBoxValueChanged)
# 将输入框和标签添加到布局中
layout.addWidget(spin_box)
layout.addWidget(self.label)
def spinBoxValueChanged(self, value):
self.label.setText(f'当前值: {value}')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
运行示例: