前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PySide6 GUI 编程(6):QPushButton的使用

PySide6 GUI 编程(6):QPushButton的使用

原创
作者头像
bowenerchen
修改2024-08-23 16:26:07
1452
修改2024-08-23 16:26:07
举报
文章被收录于专栏:编码视界

基础使用

直接实例化 QPushButton

代码语言:python
代码运行次数:0
复制
import sys

from PySide6.QtWidgets import QApplication, QPushButton

app = QApplication(sys.argv)

window = QPushButton("Push Me 这是一个按钮")
window.setToolTip('Tip Info 这是按钮的提示信息')
# window.setText('Button Text 按钮展示的信息')
window.show()

app.exec()
运行效果
运行效果

从 QMainWindow 继承

代码语言:python
代码运行次数:0
复制
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton


class MyPushButton(QMainWindow):
    def __init__(self):
        super().__init__()
        QPushButton('MyPushButton', self).setToolTip('我的自定义 button 实例')


if __name__ == '__main__':
    app = QApplication()
    button = MyPushButton()
    button.show()
    app.exec()
运行效果
运行效果

使用信号与槽对按钮的点击动作进行响应

实现代码

代码语言:python
代码运行次数:0
复制
import sys

from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton


def the_button_was_toggled(checked: bool):
    print("toggle, Checked?", checked)


class MyPushButton(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('带有按钮的窗口')
        self.button = QPushButton('初始状态 我的按钮')
        self.button.setCheckable(True)
        self.button.setFixedWidth(500)
        self.button.setFixedHeight(200)
        self.button.clicked.connect(self.the_button_was_clicked)
        self.button.released.connect(self.the_button_was_released)
        self.button.pressed.connect(self.the_button_was_pressed)
        self.button.toggled.connect(the_button_was_toggled)
        self.setFixedWidth(800)
        self.setFixedHeight(400)
        self.setCentralWidget(self.button)
        self.pressed_times = 0
        self.released_times = 0
        self.finish_clicked = 0

    def the_button_was_clicked(self):
        print('clicked!')
        self.finish_clicked += 1
        self.button.setText('恢复成我的按钮, 完成点击次数:{}'.format(self.finish_clicked))

    def the_button_was_released(self):
        self.released_times += 1
        print('released times={}'.format(self.released_times))

    def the_button_was_pressed(self):
        print('pressed')
        self.pressed_times += 1
        self.button.setText('按钮被按下, 按下次数:{}'.format(self.pressed_times))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyPushButton()
    window.show()
    app.exec()

效果

运行效果
运行效果
动态效果
动态效果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础使用
    • 直接实例化 QPushButton
      • 从 QMainWindow 继承
      • 使用信号与槽对按钮的点击动作进行响应
        • 实现代码
          • 效果
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档