PyQt5 QCommandLinkButton – 设置图形效果

  • Post category:Python

当使用 PyQt5 来开发 GUI 应用程序时,PyQt5 QCommandLinkButton 是一个用于创建带有图标、标题和描述的常规按钮的组件。 QCommandLinkButton 在Windows和Mac OS X中都有相应的视觉样式。

设置图形效果

在 PyQt5 中,可以使用 setIcon() 方法和 setIconSize() 方法来设置按钮上的图标,也可以使用 setStyleSheet() 方法来设置按钮的外观和边框颜色。还可以使用 setFlat() 方法来设置按钮的平面效果,以及使用 setToolTip() 方法来添加悬停提示文本。

下面给出一个简单的例子:

from PyQt5.QtWidgets import QApplication, QWidget, QCommandLinkButton
from PyQt5.QtGui import QIcon

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(500, 500, 500, 350)
        self.setWindowTitle('Set Graphic Effect')

        btn = QCommandLinkButton('Button', self)
        btn.setIcon(QIcon('icon.png'))
        btn.setIconSize(100, 100)
        btn.setStyleSheet('background-color:gray;')

        self.show()

app = QApplication([])
ex = Example()
ex.show()
app.exec_()

在这个例子中,我们创建了一个新的窗口,添加了一个按钮,设置了按钮的文本为 ‘Button’,并使用 setIcon() 方法和 setIconSize() 方法设置了按钮的图标为 icon.png,并将图标的尺寸设置为 (100, 100)。然后,我们使用 setStyleSheet() 方法来设置按钮的背景颜色为灰色。

示例 1: 自定义样式

下面给出一个自定义样式的示例:

from PyQt5.QtWidgets import QApplication, QWidget, QCommandLinkButton
from PyQt5.QtGui import QIcon

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(500, 500, 500, 350)
        self.setWindowTitle('Custom styles')

        btn = QCommandLinkButton('Button', self)
        btn.setIcon(QIcon('icon.png'))
        btn.setIconSize(100, 100)
        btn.setStyleSheet('background-color:gray;\n'
                          'font-size:16pt;\n'
                          'padding-top:10px;\n'
                          'padding-bottom:10px;\n'
                          'color:white;\n'
                          'border:none;\n'
                          'border-radius: 5px;\n'
                          '')
        btn.setFlat(True)

        self.show()

app = QApplication([])
ex = Example()
ex.show()
app.exec_()

在这个示例中,我们创建了一个新的窗口,并创建了一个标题为 ‘Button’ 的按钮。我们使用 setIcon() 方法和 setIconSize() 方法设置了按钮的图标为 icon.png,并将图标的尺寸设置为 (100, 100)。我们还使用 setStyleSheet() 方法,将按钮的背景颜色设置为灰色,字体大小设置为 16pt,将按钮的顶部和底部留白设置为 10px,将按钮的文本颜色设置为白色,将按钮的边框设置为无,将按钮的圆角半径设置为 5px. 最后,我们使用 setFlat(True) 方法来使按钮呈现平面效果。

示例 2: 更改鼠标悬停样式和提示文本

下面给出一个更改鼠标悬停样式和提示文本的示例:

from PyQt5.QtWidgets import QApplication, QWidget, QCommandLinkButton
from PyQt5.QtGui import QIcon

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(500, 500, 500, 350)
        self.setWindowTitle('Set Mouse Hover and Tool tips')

        btn = QCommandLinkButton('Button', self)
        btn.setIcon(QIcon('icon.png'))
        btn.setIconSize(100, 100)
        btn.setStyleSheet('background-color:gray;\n'
                          'font-size:16pt;\n'
                          'padding-top:10px;\n'
                          'padding-bottom:10px;\n'
                          'color:white;\n'
                          'border:none;\n'
                          'border-radius: 5px;\n'
                          '')
        btn.setFlat(True)
        btn.setToolTip('Hello, World!')
        btn.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))

        self.show()

app = QApplication([])
ex = Example()
ex.show()
app.exec_()

在这个示例中,我们创建了一个新的窗口,并创建了一个标题为 ‘Button’ 的按钮。我们使用 setIcon() 方法和 setIconSize() 方法设置了按钮的图标为 icon.png,并将图标的尺寸设置为 (100, 100)。我们还使用 setStyleSheet() 方法,将按钮的背景颜色设置为灰色,字体大小设置为 16pt,将按钮的顶部和底部留白设置为 10px,将按钮的文本颜色设置为白色,将按钮的边框设置为无,将按钮的圆角半径设置为 5px。然后,我们使用 setToolTip() 方法,添加悬停提示文本 ‘Hello, World!’。我们还使用 setCursor() 方法,更改了悬停时的鼠标指针类型。

这就是 Pyqt5 QCommandLinkButton 设置图形效果的完整使用攻略,希望能帮到你。