PyQt5按钮控件QPushButton的类构造和扁平化样式设置
之前所说的有效区域设置、点击效果、自动重复、排他性、快捷键等等都属于QPushButton父类QAbstractButton的属性,只是作为子类的QPushButton能拿来直接使用,本章节来说说QPushButton自己所拥有的一些属性和方法,我们先从QPushButton的构造和说起。
之前所说的有效区域设置、点击效果、自动重复、排他性、快捷键等等都属于QPushButton父类QAbstractButton的属性,只是作为子类的QPushButton能拿来直接使用,本章节来说说QPushButton自己所拥有的一些属性和方法,我们先从QPushButton的构造和说起。
一、QPushButton类构造
先看看一下文档中的构造方法。
class QPushButton(QAbstractButton): """ QPushButton(parent: QWidget = None) QPushButton(str, parent: QWidget = None) QPushButton(QIcon, str, parent: QWidget = None) """
首先看的出来QPushButton是继承自QAbstractButton的,然后我们能看到QPushButton中可以传入的参数主要有三种:父控件、图标对象和字符串。这些在前面QAbstractButton学习中已经演示了,比较简单,直接上代码演示一下就知道了。
btn2 = QPushButton(window) btn3 = QPushButton('按钮',window) btn4 = QPushButton(QIcon('123.jpg'), '按钮', window)
二、QPushButton扁平化样式设置
这个在一些样式开发中有时候会用到,这里就简单说一下QPushButton扁平化样式是如何设置的。主要就是用setFlat()这个函数来设置扁平化样式的,内部传入bool值。这里为了对比我多谢几个按钮,根据按钮提示文本区分。
from PyQt5.Qt import * import sys app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('QPushButton按钮对象构造 - PyQt5中文网') window.resize(600, 450) btn1 = QPushButton(window) btn1.move(80, 60) btn1.resize(80, 40) btn1.setText('按钮1') btn1.setStyleSheet('background-color:green;') btn2 = QPushButton(window) btn2.move(80, 120) btn2.resize(80, 40) btn2.setText('按钮2') btn2.setFlat(True) btn3 = QPushButton(window) btn3.move(80, 180) btn3.resize(80, 40) btn3.setText('按钮3') btn3.setStyleSheet('background-color:green;') btn3.setFlat(True) window.show() sys.exit(app.exec_())
这里复制代码体会一下,注意btn1是正常带背景颜色的按钮控件,btn2和btn3是进行扁平化样式设置的按钮,可以看出来btn3的样式也没有体现出来,但是按下去的一瞬间会显示出来。