PyQt5 之QPushButton

一、常用API

1、创建按钮控件

QPushButton():创建一个无父控件的按钮控件

QPushButton(parent):创建控件的同时, 设置父控件

QPushButton(text, parent):创建控件的同时, 设置提示文本和父控件

QPushButton(icon, text, parent):创建控件的同时, 设置图标, 提示文本和父控件

2、快捷键

setShortCut(text)

3、菜单

setMenu(QMenu):设置菜单

menu():获取菜单

showMenu():展示菜单

4、边框是否保持扁平

setFlat(bool):设置了此属性,则除非按下按钮,否则大多数样式都不会绘制按钮背景

isFlat():获取当前按钮边框是否扁平

二、信号

 

 

三、案例

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('QPushButton-功能API')
        self.resize(500, 400)
        self.setup_ui()
    
    def setup_ui(self):
        ibtn = QPushButton(self)
        ibtn.setText('按钮')
        ibtn.setIcon(QIcon('xxx.png'))
        
        mbtn = QPushButton('菜单', self)
        mbtn.move(100, 0)
        
        menu = QMenu(self)
        
        submenu = QMenu(menu)
        submenu_test = QAction(QIcon('xxx.png'), '新建', submenu)
        submenu.addAction('test')
        submenu_test.setMenu(submenu)
        
        menu.addAction(submenu_test)
        menu.addSeparator()
        open_action = QAction("打开", menu)
        open_action.triggered.connect(lambda: print("打开文件"))
        menu.addAction(open_action)
        menu.addSeparator()
        menu.addAction('退出程序')
        
        
        
        mbtn.setMenu(menu)
        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

 

posted @ 2020-05-15 13:54  样子2018  阅读(3345)  评论(1编辑  收藏  举报