PyQt——按钮类控件QPushButton

2023-05-16

在这里插入图片描述
在这里插入图片描述


import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class Form(QDialog):
	def __init__(self, parent=None):
		super(Form, self).__init__(parent)
		layout = QVBoxLayout()

		self.btn1 = QPushButton("Button1")
		self.btn1.setCheckable(True)
		self.btn1.toggle()
		self.btn1.clicked.connect(lambda:self.whichbtn(self.btn1) )
		self.btn1.clicked.connect(self.btnstate)
		layout.addWidget(self.btn1)
            
		self.btn2 = QPushButton('image')
		self.btn2.setIcon(QIcon(QPixmap("./images/python.png")))
		self.btn2.clicked.connect(lambda:self.whichbtn(self.btn2) )
		layout.addWidget(self.btn2)
		self.setLayout(layout) 

		self.btn3 = QPushButton("Disabled")
		self.btn3.setEnabled(False)
		layout.addWidget(self.btn3)
        
		self.btn4= QPushButton("&Download")
		self.btn4.setDefault(True)
		self.btn4.clicked.connect(lambda:self.whichbtn(self.btn4))
		layout.addWidget(self.btn4)
		self.setWindowTitle("Button demo")

	def btnstate(self):
		if self.btn1.isChecked():
			print("button pressed" ) 
		else:
			print("button released" ) 

	def whichbtn(self,btn):
		print("clicked button is " + btn.text() ) 

if __name__ == '__main__':
	app = QApplication(sys.argv)
	btnDemo = Form()
	btnDemo.show()
	sys.exit(app.exec_())

在这里插入图片描述

PyQt的按钮设置主要包括:按钮内容、字体、按钮大小、快捷键、触发事件。
self.btn = QtGui.QPushButton(u'<<(L)', self)
self.btn.setFont(QtGui.QFont('Microsoft YaHei', 10))
self.btn.setStyleSheet(
                                 "QPushButton{color:rgb(101,153,26)}" #按键前景色
                                 "QPushButton{background-color:rgb(198,224,205)}"  #按键背景色
                                 "QPushButton:hover{color:red}" #光标移动到上面后的前景色
                                 "QPushButton{border-radius:6px}"  #圆角半径
                                 "QPushButton:pressed{background-color:rgb(180,180,180);border: None;}" #按下时的样式
                                 )
self.btn.resize(self.btn.sizeHint())#其中 self.btn.sizeHint() 即返回一个合适的大小,一般是系统根据按键上的内容自动调后的尺寸。
self.btn.setShortcut('L')
self.btn.clicked.connect(self.last)
 
#self.btn.setEnabled(True) #禁用
#self.btn.setEnabled(False) #放开
设置 QPushButton 样式及点击时 QPushButton:pressed 的样式
button.setStyleSheet(''' 
                     QPushButton
                     {text-align : center;
                     background-color : white;
                     font: bold;
                     border-color: gray;
                     border-width: 2px;
                     border-radius: 10px;
                     padding: 6px;
                     height : 14px;
                     border-style: outset;
                     font : 14px;}
                     QPushButton:pressed
                     {text-align : center;
                     background-color : light gray;
                     font: bold;
                     border-color: gray;
                     border-width: 2px;
                     border-radius: 10px;
                     padding: 6px;
                     height : 14px;
                     border-style: outset;
                     font : 14px;}
                     ''')

Qt样式表示例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQt——按钮类控件QPushButton 的相关文章

  • PyQt 自动调整 qlineedit 字符间距

    我有一个 qlineedit 用户在其中输入验证码 我希望能够每隔 5 个字符自动间隔这些数字 就像激活自动添加破折号的窗口时一样 例如 12345 67890 12345 67890 如果位数是固定的 最好的选择是使用setInputMa
  • PyQt5:我无法理解 QGraphicsScene 的 setSceneRect(x, y, w, h)

    我看到有人说如果你想把QGraphicsScene的坐标原点放在QGraphicsView的原点 即左上角 您需要让它们具有相同的大小 所以这就是我所做的 import sys from PyQt5 QtWidgets import QAp
  • 如何在 PyQt 应用程序退出时禁用清除剪贴板?

    我有一个简单的 PyQt4 应用程序 请参阅下面的代码 它揭示了一个问题 如果我从QLineEdit并将其复制到剪贴板 然后我只能在应用程序运行时将其粘贴到另一个应用程序 似乎在退出时 PyQt 应用程序会清除剪贴板 因此我无法在应用程序关
  • 迁移到 Qt6/PyQt6:Qt5 中所有已弃用的短格式名称是什么?

    我正在尝试从以下位置迁移代码库PyQt5 to PyQt6 我读过这篇文章 参见https www pythonguis com faq pyqt5 vs pyqt6 https www pythonguis com faq pyqt5 v
  • 分段错误(核心转储),执行线程

    我试图在 python 中运行一个程序 该程序打开一个程序并从其标准输出中读取 当我运行程序代码时 出现分段错误错误 但是当我将代码放入函数 Myfunc 中的线程外时 它可以正常工作 我不明白发生了什么 这是我的代码 class Work
  • 多级QTreeView

    我很难理解如何使用 QTreeView 和 QStandardItemModel 设置多级 QTree 这是我所拥有的 from PySide QtGui import import sys class MainFrame QWidget
  • 使用 QObject 从 Python 线程发出信号

    我想知道与 QThread 相比 从 QObject 中的常规 python 线程发出信号会产生什么后果 请参阅以下课程 class MyObject QtCore QObject def init self super init sig
  • 如何编辑 QProgressBar 的样式表

    我无法在我的应用程序中编辑进度条的颜色 仅编辑文本颜色 pyhton 3 9 PySide6 QT Creator 7 0 2 Python应用程序 https i stack imgur com 6hKFI png import sys
  • 如何使用 PyQt 抓取桌面截图?

    我可以使用 PyQt 从桌面或任何窗口截取屏幕截图吗 如何处理桌面上的keyPressEvent Thanks 如何截取桌面屏幕截图的示例 import sys from PyQt4 QtGui import QPixmap QApplic
  • Pyqt5 中的 QThreads:这是官方 QThread 文档的正确 C++ 到 Python 翻译吗?

    关于如何实例化和使用的官方文档QThread可以在这里找到 http doc qt io qt 5 qthread html http doc qt io qt 5 qthread html 该文档描述了两种基本方法 1 工作对象方法和 2
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • Python PyQt Pyside - QFileDialog 中的 setNameFilters 不起作用

    Windows 7 64 位 PyCharm 3 4 1 专业版 Python 3 4 0 PySide 1 2 2 我想制作一个带有过滤器的文件对话框并预选一个过滤器 如果我使用静态方法 它会起作用 我可以使用过滤器并预选一个过滤器 di
  • 如何从 QLineEdit 动态获取文本? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 怎样才能得到String Text from QlineEdit 我尝试过像这样 myArea getList 功能是获取字符串值并使用字符
  • qt 如何知道按钮被点击?

    我正在尝试编写一个程序 用声音进行一些操作 我的问题是我有 3 个播放按钮和 3 个标签 我希望无论我单击 播放 按钮 都应该播放按钮附近标签中名称的声音 我有一个没有任何参数的播放插槽 那么 如何分别连接到每个播放按钮和每个标签呢 实际上
  • 在 PyQt 中使用 Windows 7 任务栏功能

    我正在寻找有关将一些新的 Windows 7 任务栏功能集成到我的 PyQt 应用程序中的信息 具体来说 如果已经存在使用新进度指示器的可能性 see here http www petri co il wp content uploads
  • PyQT 将 lambda 函数连接到 Signal

    我遇到了以下问题 我正在尝试将 lambda 函数连接到 Signal 以最终传递一些额外的数据 def createTimeComboBox self slotCopy timeComboBox QComboBox cmd lambda
  • 在标准 python 线程中发出信号

    我有一个线程应用程序 其中有一个网络线程 UI 部分通过callback到这个线程 线程是一个normalpython 线程 它是NO QThread 是否可以在该线程内发出 PyQT Slot 不 不可能像这样从 python 线程发出
  • 将 Pyqt GUI 主应用程序作为单独的非阻塞进程运行

    我正在寻找从 python 或 ipython 控制台运行 pyqt GUI 的可能性 基本上 主要思想是使用 Pyqt GUI 就像使用 matplotlib 绘图或图像一样 您可以将参数从控制台传递给 GUI 以查看数据 继续在控制台中
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • PyQt5按钮lambda变量变成布尔值[重复]

    这个问题在这里已经有答案了 当我运行下面的代码时 它显示如下 为什么 x 不是 x 而是变成布尔值 这种情况仅发生在传递到用 lambda 调用的函数中的第一个参数上 错误的 y home me model some file from P

随机推荐

  • error while loading shared libraries: libopencv_imgcorecs.so.3.4:: cannot open shared object file:

    ubuntu16 04的环境下 xff0c 编译成功C 43 43 代码 xff0c 同时也安装好了opencv3 4 在运行时却出现error xff1a error while loading shared libraries libo
  • 基于LQR的车辆LKA算法设计

    记录分享一下基于LQR控制算法的车辆LKA设计 通过carsim和simulink进行联合仿真 1控制算法设计 整体思路是通过车辆以及道路模型 得到控制器的输入 v 纵向速度 r 横摆角速度 y 侧向路径偏移 phi 横摆角误差 通过最优控
  • 软件框架

    1 概念 框架 xff08 framework xff09 是一个框子 指其约束性 xff0c 也是一个架子 指其支撑性 是一个基本概念上的结构 xff0c 用于去解决或者处理复杂的问题 框架这个广泛的定义使用的十分流行 xff0c 尤其在
  • 使用C++开发STM32 FreeRTOS工程与添加DSP库

    续上一篇文章的内容 由CubeMX构建的Makefile工程只支持C和汇编的编译 xff0c 而且FreeRTOS的代码也需要作为C代码编译 当我们想使用C 43 43 时 xff0c 需要做一些准备并且修改Makefile xff1b 另
  • CPU分时、中断和上下文切换

    准备知识 xff1a 实时和分时 嵌入式操作系统可以分为实时操作系统和分时操作系统两类 我们现实之中使用的绝大多数是分时操作系统 xff0c 比如windows或者linux 但是比如汽车就必须使用实时操作系统 xff0c 举一个经常使用的
  • 如何从AD导出PDF原理图

    https jingyan baidu com article 7c6fb428d4759080642c9017 html
  • PyQt ——setStyleSheet用法

    这个是CSS的手册 xff0c 所有的东西都可以参考这里 xff1a https css doyoe com 下面是CSS 的东西 字体属性 xff1a font 大小 font size x large 特大 xx small 极小 一般
  • QMessageBox

    span class token triple quoted string string 39 39 39 简介 PyQt5中 QMessage 例子 39 39 39 span span class token keyword impor
  • QInputDialog

    span class token triple quoted string string 39 39 39 简介 PyQt5中 QInputDialog 例子 39 39 39 span span class token keyword i
  • python cherry 用法

    CheeryPy是一个 Pythonic 的 面向对象的 Web 框架 xff0c 能够用于接受POST或者GET请求并进行回复 CheeryPy中文文档 xff1a Cherrypy 一个极简的python web框架 CherryPy
  • PyQt——简单进度条程序

    span class token keyword from span PyQt5 span class token punctuation span QtCore span class token keyword import span Q
  • PyQt——窗口居中

    span class token comment coding utf 8 span span class token keyword import span sys span class token keyword from span P
  • PyQt——分离UI主线程与工作线程

    span class token comment coding utf 8 span span class token keyword import span sys span class token keyword from span P
  • PyQt——信号与槽简介

    信号与槽简介 定义信号 操作信号
  • PyQt——信号与槽基础应用

    信号与槽有三种使用方法 xff0c 第一种是内置信号与槽的使用 xff0c 第二种是自定义信 号与槽的使用 xff0c 第三是装饰器的信号与槽的使用 由于第三种方法本质上是第一 种方法的衍生 内置信号与槽的使用 所谓内置信号与槽的使用 xf
  • PyQt——信号与槽函数快速进阶

    内置信号与槽函数 span class token keyword from span PyQt5 span class token punctuation span QtWidgets span class token keyword i
  • PyQt——自定义信号与槽的高级应用

    高级自定义信号与槽 span class token keyword from span PyQt5 span class token punctuation span QtCore span class token keyword imp
  • PyQt——键盘事件和鼠标事件

    PyQt为事件处理提供了两种机制 xff1a 高级的信号和槽机制 xff0c 以及低级的事件处理程序 PyQt为拦截和处理事件提供了5种不同的方式 xff0c 这里只介绍最常用的头两种方式 第一种是重新实现特定事件 xff0c 如键盘和鼠标
  • PyQt——按钮类控件QAbstractButton

    按钮类控件 QPushButton
  • PyQt——按钮类控件QPushButton

    span class token keyword import span sys span class token keyword from span PyQt5 span class token punctuation span QtCo