Pyside6-第二篇-QPushButton一个普通按钮

简介: Pyside6-第二篇-QPushButton一个普通按钮

今天是Pyside6的第二篇内容。一起来看一个普通的按钮。

QPushButton。

from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton(win)
btn.setText("触发")
btn.move(50, 50)  # 移动XY周50px的距离
win.show()
app.exec()

看看源码

class QPushButton(QAbstractButton):
    """
    QPushButton(self, icon: Union[PySide6.QtGui.QIcon, PySide6.QtGui.QPixmap], text: str, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None
    QPushButton(self, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None
    QPushButton(self, text: str, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None
    """
❝

上面告诉了你QPushButton继承自哪个类,注释中还告诉你了一些用法。,为此,我们可以改写一下上面的写法。

❞

关于源码的其他函数方法,大部分都是需要自己手动重载的,所以等后面用到了再介绍。

给按钮设置图标并改写一次性写法

这里说的一次性不是用完就不用的意思。

from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton(QIcon("图标.png"), "触发", win)
btn.move(50, 50)
win.show()
app.exec()

关于QPushButton的一些其他常用函数

因为是继承QAbstractButton,所以,很多函数都是可以用的

setText

from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton(QIcon("图标.png"), "触发", win)
btn.move(50, 50)
btn.setText("关闭")
win.show()
app.exec()

它会将前面的text覆盖掉。

text

获取按钮文本

from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton(QIcon("图标.png"), "触发", win)
btn.move(50, 50)
txt = btn.text()
print(txt)
win.show()
app.exec()

setIcon

设置图标

from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton("触发", win)
btn.move(50, 50)
btn.setIcon(QIcon("图标.png"))
win.show()
app.exec()

setIconSize

设置图标大小

from PySide6.QtCore import QSize
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton("触发", win)
btn.move(50, 50)
btn.setIcon(QIcon("图标.png"))
btn.setIconSize(QSize(20, 20))
win.show()
app.exec()

##信号与槽

QPushButton的信号有:

❝

clicked(bool checked = False):按钮被点击时发出信号,可选参数checked表示按钮是否被选中。

pressed():按钮被按下时发出信号 。

released():按钮被释放时发出信号。

toggled(bool checked):按钮的选中状态发生变化时发出信号,checked表示按钮是否被选中。

doubleClicked():按钮被双击时发出信号。

hovered():鼠标悬停在按钮上时发出信号。

pressedSignal():按钮被按下时发出信号,与pressed()信号相同。

releasedSignal():按钮被释放时发出信号,与released()信号相同。

clickedSignal():按钮被点击时发出信号,与clicked()信号相同。

❞

那么什么是槽,可以理解为函数,信号与槽,简单的理解就是将信号与槽连接起来。这里做简单的举例,后续将按钮都讲完后会出一起案例讲解。

点击信号

from PySide6.QtWidgets import QWidget, QApplication, QPushButton
app = QApplication([])
win = QWidget()
win.setWindowTitle("QPushButton按钮")
btn = QPushButton("触发", win)
btn.move(50, 50)
def btn_click():
    btn.setText("被点击")
btn.clicked.connect(btn_click)  # 连接函数
win.show()
app.exec()

当按钮被点击的时候就会触发连接,然乎按钮的文字就会被替换成"被点击"

目录
相关文章
|
Python
Pyside6-第一篇-创建第一个窗口
Pyside6-第一篇-创建第一个窗口
1464 0
Pyside6-第四篇-QCheckBox复选框
Pyside6-第四篇-QCheckBox复选框
1982 0
Pyside6-第四篇-QCheckBox复选框
|
容器
Pyside6-第十三篇-布局(最后一章废话-理论篇)
Pyside6-第十三篇-布局(最后一章废话-理论篇)
1805 0
|
程序员 Shell 数据格式
python股票量化交易(1)---K线图、均线与成交量绘制
python股票量化交易(1)---K线图、均线与成交量绘制
3419 0
python股票量化交易(1)---K线图、均线与成交量绘制
|
计算机视觉 Windows
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
Pyside6-第八篇-QLabel文本标签
Pyside6-第八篇-QLabel文本标签
1175 0
Pyside6-第七篇-QLineEdit文本行编辑(内设案例)
Pyside6-第七篇-QLineEdit文本行编辑(内设案例)
2202 0
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
1779 20
Pyside6-第三篇-QToolButton一个的按钮
Pyside6-第三篇-QToolButton一个的按钮
1070 0
|
Web App开发 安全 测试技术
Playwright-MCP浏览器会话复用全解析
本文深入解析Playwright-MCP实现浏览器会话复用的核心技术,包括状态持久化(cookies/localStorage存储)和直接连接已打开浏览器实例(通过CDP协议)。通过多上下文隔离与安全机制设计,提供企业级应用场景的优化方案,帮助开发者提升测试效率并降低资源消耗。

热门文章

最新文章