Python GUI编程网 > PyQt5控件_PyQt5控件方法大全 > PyQt5工具按钮控件QToolButton构造和图标设置
python教程

PyQt5工具按钮控件QToolButton构造和图标设置

发布博客:2022年11月17日 01:59
阅读:25
作者:Python GUI编程网

首先我们要知道QToolButton也是按钮控件,也是继承自QAbstractButton,所以父类的方法他都能用。

首先我们要知道QToolButton也是按钮控件,也是继承自QAbstractButton,所以父类的方法他都能用。

至于QPushButton和QToolButton的区别其实并不大,我查了一下Qt文档页就说了2点:1.原生样式不一样, QPushButton按钮更大,QToolButton的按钮更小,但是通过尺寸设置也能找到平衡,貌似没有什么说服力;2.侧重功能不同,QToolButton可与菜单栏一起使用,QPushButton没有该属性,这一点也可以通过其他方法实现同样的效果。我个人认为QToolButton更适合软件工具栏的图标按钮,其实也没有必要研究过于深刻,一般软件开发不会区分这么严格。后面的文章我们只要知道QToolButton的用法和属性等知识点即可,在开发工作中可以根据需要自由安排。

一、首先看看QToolButton的样式和构造

构造方面继承QAbstractButton方法和属性,自己没有什么特别的参数。

class QToolButton(QAbstractButton):
     """ QToolButton(parent: QWidget = None) """

二、下面来对比一下细节方面的不同,我实例化2个QToolButton对象和1个QPushButton对象。

from PyQt5.Qt import *
 import sys
 
 app = QApplication(sys.argv)
 window = QWidget()
 window.setWindowTitle('PyQt5工具按钮控件QToolButton - PyQt5中文网')
 window.resize(600, 450)
 
 btn1 = QToolButton(window)
 btn1.move(80, 60)
 btn1.resize(80, 40)
 btn1.setText('按钮1')
 btn1.setIcon(QIcon('123.jpg'))
 
 btn2 = QPushButton(window)
 btn2.move(80, 160)
 btn2.resize(80, 40)
 btn2.setText('按钮2')
 btn2.setIcon(QIcon('123.jpg'))
 
 btn3 = QToolButton(window)
 btn3.move(80, 260)
 btn3.resize(80, 40)
 btn3.setText('按钮1')
 
 
 window.show()
 sys.exit(app.exec_())

出来的效果如下:

QPushButton

从上面的结果可以看出来,如果文本和图标同时存在QToolButton只会显示图标,隐藏文本。这一点可能是两种按钮最明显的区别了,所以说QToolButton更适合工具栏图标。