QToolButton按钮

QToolButton是与工具操作相关的按钮,通常和QToolBar搭配使用。QToolButton一般不用来显示文本,而显示图标QIcon

需要  from PyQt5.QtWidgets import QToolButton

请注意不能在QToolButton实例化的时候直接传入文本字符串,因为该控件没有相应的初始化函数。也就是说这样做是错误的:self.test_button = QToolButton('Test', self)  如果要设置文本的话得通过setText()方法。但是setText()方法和setIcon()方法都使用的话,只会显示图标

 1 import sys
 2 from PyQt5.QtGui import QIcon,QCursor
 3 from PyQt5.QtWidgets import QApplication, QWidget, QToolButton
 4 
 5 
 6 class Demo(QWidget):
 7     def __init__(self):
 8         super(Demo, self).__init__()
 9         self.test_button = QToolButton(self)  # 实例化按钮
10         self.test_button.setCheckable(True)  #设置为标记按钮
11         self.test_button.setIcon(QIcon('大象.ico'))  #设置图标,也可以是png图片
12         self.test_button.toggled.connect(self.button_state_func)   #按钮的标记状态发生变化时发出信号
13         print(self.test_button.isCheckable())    #返回按钮是否已经标记,True表示已经标记
14         self.setMouseTracking(True)  # 设置鼠标移动跟踪是否有效
15         self.test_button.setAutoRepeat(True)   #设置按钮是否在用户长按时可以自动重复执行
16 
17 
18     def button_state_func(self):
19         print(self.test_button.isChecked())  #返回按钮的标记状态
20 
21     def wheelEvent (self, event):
22         print(self.test_button.isDown())   #返回按钮是否被按下了。True表示按下了
23 
24 
25 if __name__ == '__main__':
26     app = QApplication(sys.argv)
27     demo = Demo()
28     demo.show()
29     sys.exit(app.exec_())

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/10357450.html