zoukankan      html  css  js  c++  java
  • pyqt5学习之QPushButton

    1. QPushButton继承于基类QAbstractButton;QAbstractButton的方法QPushButton都可以用;用来给用户点击,来完成某种动作的控件

    案例:

    1. 控件建立
    2. 扁平化
    3. 简单菜单建立
    4. 右击菜单建立
    from PyQt5.Qt import *
    import sys
    
    # *************控件建立***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle("按钮的功能")
    # window.resize(500, 500)
    #
    # # btn = QPushButton(window)
    # # btn.setParent(window)  # 设置父类
    # # btn.setText("xxx")  # 添加文本
    # # btn.setIcon(QIcon("dp.png"))  # 添加图片
    # btn = QPushButton(QIcon('dp.png'),'按钮',window) # 设置方法二
    #
    # window.show()
    # sys.exit(app.exec_())
    # *************控件建立***************结束
    
    
    # *************扁平化***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle("按钮的功能")
    # window.resize(500, 500)
    #
    # btn = QPushButton(QIcon('dp.png'),'按钮',window)
    # btn.setFlat(True)  # 设置扁平化
    # print(btn.isFlat())
    #
    # window.show()
    # sys.exit(app.exec_())
    # *************扁平化***************结束
    
    
    # *************简单菜单***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle("按钮的功能")
    # window.resize(500, 500)
    #
    # btn = QPushButton(QIcon('dp.png'),'按钮',window)
    #
    # # 1.设置一个菜单对象
    # menu = QMenu(window)
    #
    # # 2.添加行为动作;分割线
    # # new_action = QAction() # 添加一个行为动作
    # # new_action.setText("新建") # 设置文本
    # # new_action.setIcon(QIcon("dp.png")) #添加图片
    # new_action = QAction(QIcon("dp.png"), "新建", menu)  # 添加行为方式二
    # new_action.triggered.connect(lambda :print("新建文件"))
    #
    # open_action = QAction(QIcon("dp.png"), "打开", menu)
    # open_action.triggered.connect(lambda :print("打开文件"))
    #
    # exit_action = QAction("退出", menu)
    # exit_action.triggered.connect(lambda :print("退出程序"))
    #
    # file_action = QAction("Python-GUI编程-PyQt5")
    #
    # #添加子菜单
    # open_recent_menu = QMenu(menu)
    # open_recent_menu.setTitle("最近打开")
    #
    # # 3.将动作行为,子菜单添加到菜单中
    # menu.addAction(new_action) #添加行为
    # menu.addAction(open_action)
    # open_recent_menu.addAction(file_action)
    # menu.addMenu(open_recent_menu)  #添加子菜单
    # menu.addSeparator()  # 添加分割线
    # menu.addAction(exit_action)
    #
    # # 4.将菜单设置到按钮中
    # btn.setMenu(menu)
    #
    # window.show()
    # sys.exit(app.exec_())
    # *************简单菜单***************结束
    
    
    
    # *************右击菜单方法一***************开始
    # class Window(QWidget):
    #     def contextMenuEvent(self, evt):
    #         print("默认上下文菜单调用这个方法")
    #         # 1.添加需要展示的菜单
    #         menu = QMenu(self)
    #
    #         # 2.添加菜单内容
    #         # 2.1添加子菜单
    #         open_recent_menu = QMenu(menu)
    #         open_recent_menu.setTitle("最近打开")
    #
    #         # 2.2添加行为动作;分割线
    #         new_action = QAction(QIcon("dp.png"), "新建", menu)
    #         new_action.triggered.connect(lambda: print("新建文件"))
    #
    #         open_action = QAction(QIcon("dp.png"), "打开", menu)
    #         open_action.triggered.connect(lambda: print("打开文件"))
    #
    #         exit_action = QAction("退出", menu)
    #         exit_action.triggered.connect(lambda: print("退出程序"))
    #
    #         file_action = QAction("Python-GUI编程-PyQt5")
    #
    #         menu.addAction(new_action)
    #         menu.addAction(open_action)
    #         open_recent_menu.addAction(file_action)
    #         menu.addMenu(open_recent_menu)
    #         menu.addSeparator()
    #         menu.addAction(exit_action)
    #
    #         # 3.展示菜单,会传递一个对象:Qpoint:展示在那个点
    #         # menu.exec_(QPoint(100, 100) # Qpoint:展示在那个点(先对于桌面)
    #         menu.exec_(evt.globalPos())  # 全局位置:窗口
    #         # menu.exec_(evt.pos())  # 局部位置:桌面
    #
    # # 1. 创建一个应用程序对象
    # app = QApplication(sys.argv)
    #
    # # 2. 控件的操作
    # # 2.1 创建控件
    # window = Window()
    # # 2.2 设置控件
    # window.setWindowTitle("按钮的功能")
    # window.resize(500, 500)
    #
    #
    # btn = QPushButton(window)
    # btn.setParent(window)
    # btn.setText("xxx")
    # btn.setIcon(QIcon("dp.png"))
    #
    # window.show()
    #
    # sys.exit(app.exec_())
    
    # *************右击菜单方法一***************结束
    
    
    # *************右击菜单方法二***************开始
    # # 1. 创建一个应用程序对象
    # app = QApplication(sys.argv)
    #
    # # 2. 控件的操作
    # # 2.1 创建控件
    # window =QWidget()
    # # 2.2 设置控件
    # window.setWindowTitle("按钮的功能")
    # window.resize(500, 500)
    #
    # btn = QPushButton(window)
    # btn.setParent(window)
    # btn.setText("xxx")
    # btn.setIcon(QIcon("dp.png"))
    #
    # def show_menu(point):
    #     # 1.设置展示菜单
    #     menu = QMenu(window)
    #
    #     # 2.添加菜单控件
    #     open_recent_menu = QMenu(menu)
    #     open_recent_menu.setTitle("最近打开")
    #
    #     # 添加行为动作;分割线
    #     new_action = QAction(QIcon("xxx.png"), "新建", menu)
    #     new_action.triggered.connect(lambda: print("新建文件"))
    #
    #     open_action = QAction(QIcon("xxx.png"), "打开", menu)
    #     open_action.triggered.connect(lambda: print("打开文件"))
    #
    #     exit_action = QAction("退出", menu)
    #     exit_action.triggered.connect(lambda: print("退出程序"))
    #
    #     file_action = QAction("Python-GUI编程-PyQt5")
    #
    #     menu.addAction(new_action)
    #     menu.addAction(open_action)
    #     open_recent_menu.addAction(file_action)
    #     menu.addMenu(open_recent_menu)
    #     menu.addSeparator()
    #     menu.addAction(exit_action)
    #
    #     # point
    #     # dest_point = window.mapToGlobal(point) # 局部点映射到桌面
    #     # menu.exec_(dest_point)
    #     menu.exec_(point) # 桌面位置点
    #
    # window.setContextMenuPolicy(Qt.CustomContextMenu)  # 自定义上下文菜单策略
    # window.customContextMenuRequested.connect(show_menu) # 信号
    #
    # # 2.3 展示控件
    # window.show()
    #
    # # 3. 应用程序的执行, 进入到消息循环
    # sys.exit(app.exec_())
    
    # *************右击菜单方法二***************结束
    View Code
  • 相关阅读:
    css3文字单位rem 设置文字大小
    JS实现多物体width缓冲运动实例
    vs 你不得不会的调试方式
    C# 常用修饰符
    富文本编辑器tinymce
    Swagger简单实例
    marquee标签详解
    table数据跑马灯效果
    SqlServer发布订阅
    ORM概述及常用ORM框架
  • 原文地址:https://www.cnblogs.com/mosewumo/p/12504461.html
Copyright © 2011-2022 走看看