当前位置: 首页 PyQt5按钮控件 QPushButton的API方法和信号使用大全
add-vip

QPushButton的API方法和信号使用大全

一、学习指导

QPushButton作为最常见的按钮控件,有着自己的方法和信号方法,同时QPushButton也继承了抽象父类QAbstractButton的所有方法,本节课中我们就来详细看看,同时也会顺便使用一些QAbstractButton中的API。

二、代码演示


'''
setFlat(bool) # 默认为False
isFlat()

setAutoDefault(True)  # 点击后会焦点停留
setDefault(True)  # 点击前自动默认
'''

from PyQt5.Qt import *
import sys

class Window(QWidget):
    # QContextMenuEvent
    def contextMenuEvent(self, evt):
        menu = QMenu(self)
        menuAction1 = QAction(QIcon('123.jpg'), '菜单1', self)
        menuAction1.triggered.connect(lambda: print('WWWWWW'))
        menu.addAction(menuAction1)
        menu.exec_(evt.globalPos())


app = QApplication(sys.argv)

window = Window()
window.setWindowTitle('QPushButton - PyQt5中文网')
window.resize(600,450)
window.move(300,300)

btn4 = QPushButton(QIcon('123.jpg'),'按钮',window)
# ==============控件菜单设置=============== # 代码分割线 - 开始
# 上面需要创建一个按钮
# 创建菜单对象
menu = QMenu()  # 菜单中不要创建文本和图标,会被上面的主按钮覆盖
# 构造一个菜单选项
menuAction1 = QAction(QIcon('123.jpg'),'菜单1',window)
menuAction1.triggered.connect(lambda : print('WWWWWW'))
# 添加菜单列表
menu.addAction(menuAction1)
btn4.setMenu(menu)
# ==============控件菜单设置=============== # 代码分割线 - 结束

# ==============按钮扁平化处理=============== # 代码分割线 - 开始
# btn4.setStyleSheet('background-color:green')
# btn4.setFlat(True)
# ==============按钮扁平化处理=============== # 代码分割线 - 结束

# ==============默认按钮处理=============== # 代码分割线 - 开始
btn5 = QPushButton(window)
btn5.setText('默认按钮')
btn5.move(150,150)
btn6 = QPushButton(window)
btn6.setText('默认按钮')
btn6.move(150,200)
btn6.setAutoDefault(True)  # 点击后会焦点停留
btn6.setDefault(True)  # 点击前自动默认
# ==============默认按钮处理=============== # 代码分割线 - 结束

# ==============右键菜单=============== # 代码分割线 - 开始
# 第一种方法:上面创建的类中
# 第二种方法:下面的right_menu函数中
def right_menu(point):
    menu = QMenu(window)
    menuAction1 = QAction(QIcon('123.jpg'), '菜单1', window)
    menuAction1.triggered.connect(lambda: print('QQQQ'))
    menu.addAction(menuAction1)
    menu.exec_(window.mapToGlobal(point))

# window.setContextMenuPolicy(Qt.DefaultContextMenu)
window.setContextMenuPolicy(Qt.CustomContextMenu)
window.customContextMenuRequested.connect(right_menu)
# ==============右键菜单=============== # 代码分割线 - 结束

window.show()
sys.exit(app.exec_())


相关文章