PyQt5是Python语言的一个GUI编程工具包,其中的QCommandLinkButton类是可切换可检查按钮的一种类型。下面详细介绍QCommandLinkButton类的使用方法及示例:
QCommandLinkButton的基本介绍
QCommandLinkButton是继承自QPushButton的一种,它提供了一种可以显示头像图片的可点击按钮,并且可以切换选择状态的功能。同时,它还可以作为超链接类型的文本被点击打开网址或一些文本资料。
QCommandLinkButton的使用步骤
1.引入PyQt5库,导入需要的工具,创建QApplication对象和QMainWindow窗体对象。
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
2.创建QCommandLinkButton,设置父控件,设置以及初始化QCommandLinkButton的各项参数(如名字、内容等)。参数含义如下:
name
:QCommandLinkButton的名称;
text
:QCommandLinkButton按钮上面显示的文本内容;
description
:QCommandLinkButton鼠标悬停时显示的文本内容;
icon
:QCommandLinkButton按钮上的图标。
self.commandLinkButton = QtWidgets.QCommandLinkButton(MainWindow)
self.commandLinkButton.setObjectName("commandLinkButton")
self.commandLinkButton.setText("PyQt5 QCommandLinkButton")
self.commandLinkButton.setDescription("This is a description.")
self.commandLinkButton.setIcon(QtGui.QIcon("icon.ico"))
3.运行窗口程序。最后需要对创建的窗口进行显示。
MainWindow.show()
sys.exit(app.exec_())
QCommandLinkButton的使用示例
以下两个示例,一个用于展示点击QCommandLinkButton时会在控制台输出提示信息,另一个用于演示如何切换QCommandLinkButton的状态。
示例一:点击QCommandLinkButton输出提示信息
在此示例中,我们将创建一个QCommandLinkButton,当用户点击该按钮时,将在控制台上输出提示信息。
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
# 设置界面尺寸和标题
self.setGeometry(500, 300, 300, 200)
self.setWindowTitle("QCommandLinkButton 示例")
# 新建QCommandLinkButton控件,并对其进行设置
self.commandLinkButton = QtWidgets.QCommandLinkButton(self)
self.commandLinkButton.setObjectName("commandLinkButton")
self.commandLinkButton.setText("点击此处")
self.commandLinkButton.setDescription("这是一个QCommandLinkButton示例。")
self.commandLinkButton.setIcon(QtGui.QIcon("icon.ico"))
self.commandLinkButton.clicked.connect(self.showMessage)
def showMessage(self):
print("你点击了QCommandLinkButton按钮!")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
运行该程序,当我们点击QCommandLinkButton按钮时,就会在控制台上输出相应的提示信息。
示例二:切换QCommandLinkButton的状态
在此示例中,我们将创建两个QCommandLinkButton控件,分别表示“on”和“off”两个状态。当用户点击其中一个按钮时,该按钮就会处于选中状态,而另一个按钮则会处于未选中状态。
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
# 设置界面尺寸和标题
self.setGeometry(500, 300, 300, 200)
self.setWindowTitle("QCommandLinkButton 示例")
# 新建两个QCommandLinkButton控件,并对其进行设置
self.onBtn = QtWidgets.QCommandLinkButton(self)
self.onBtn.setObjectName("onBtn")
self.onBtn.setText("ON")
self.onBtn.setDescription("此时状态为“开启”。")
self.onBtn.clicked.connect(lambda: self.setButtonState(self.onBtn))
self.offBtn = QtWidgets.QCommandLinkButton(self)
self.offBtn.setObjectName("offBtn")
self.offBtn.setText("OFF")
self.offBtn.setDescription("此时状态为“关闭”。")
self.offBtn.clicked.connect(lambda: self.setButtonState(self.offBtn))
self.setGeometry(200, 200, 300, 200)
self.show()
def setButtonState(self, button):
self.onBtn.setChecked(button is self.onBtn)
self.offBtn.setChecked(button is self.offBtn)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
运行该程序,我们就可以在界面上看到两个QCommandLinkButton控件。当我们点击其中一个按钮时,该按钮就会处于选中状态,而另一个按钮则会处于未选中状态。