[PyQt6] PartⅡ. Working with QPushButton

from PyQt6.QtWidgets import QApplication, QWidget, QWidget, QPushButton, QMenu
from PyQt6.QtGui import QIcon, QFont
from PyQt6.QtCore import QSize
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.setGeometry(200, 200, 700, 400) # 设置窗口大小
        self.setWindowTitle("Python GUI Development")
        self.setWindowIcon(QIcon('images/example.jpg')) # 设置图片,没有的话不显示

        self.create_button()

    def create_button(self):
        btn = QPushButton("Click", self) # 创建对象
        btn.setGeometry(100, 100, 130, 130) # 设置button大小
        btn.setFont(QFont("Times", 14, QFont.Weight.ExtraBold)) # 设置字体,大小,样式
        btn.setIcon(QIcon("images/example.jpg")) # 绑定图片地址
        btn.setIconSize(QSize(36,36)) # 设置图片大小

        # popup menu
        menu = QMenu() # instance 对象 QMenu
        menu.setFont(QFont("Times", 14, QFont.Weight.ExtraBold))  # 设置字体,大小,样式
        menu.setStyleSheet('background-color: pink') # 设置菜单背景颜色
        menu.addAction("Copy") # 添加动作Copy
        menu.addAction("Cut") # 添加动作cut
        menu.addAction("Paste") # 添加动作paste
        btn.setMenu(menu) # 和btn绑定



app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec())


posted @   deadright  阅读(47)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示