课程目录

  • 视频链接
  • 课程重点
  • 代码位置
  • 完整代码
  • 遇到的问题
  • 改写效果展示
  • 改写注意点
  • 改写代码(QTdesigner模式)

** >>> 点击进入:pyqt5专栏<<<**

老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来


视频链接

P36课时37.按钮控件(QPushButton)


课程重点

第一个按钮有两个状态 self.button1.toggle(),两种状态来回切换


代码位置


完整代码

'''按钮控件(QPushButton)QAbstractButtonQPushButton
AToolButton
QRadioButton
QCheckBox'''import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class QPushButtonDemo(QDialog) :def __init__(self):super(QPushButtonDemo,self).__init__()self.initUI()def initUI(self):self.setWindowTitle('QPushButton Demo')layout = QVBoxLayout()self.button1 = QPushButton('第1个按钮')self.button1.setText('First Button1')self.button1.setCheckable(True)self.button1.toggle()self.button1.clicked.connect(self.buttonState)self.button1.clicked.connect(lambda :self.whichButton(self.button1))layout.addWidget(self.button1)# 在文本前面显示图像self.button2 = QPushButton('图像按钮')self.button2.setIcon(QIcon(QPixmap('./images/python.png')))self.button2.clicked.connect(lambda:self.whichButton(self.button2))layout.addWidget(self.button2)self.button3 = QPushButton('不可用的按钮')self.button3.setEnabled(False)layout.addWidget(self.button3)self.button4 = QPushButton('&MyButton')self.button4.setDefault(True)self.button4.clicked.connect(lambda:self.whichButton(self.button4))layout.addWidget(self.button4)self.setLayout(layout)self.resize(400,300)def buttonState(self):if self.button1.isChecked():print('按钮1已经被选中')else:print('按钮1未被选中')def whichButton(self,btn):print('被单击的按钮是<' + btn.text() + '>')if __name__ == '__main__':app = QApplication(sys.argv)main = QPushButtonDemo()main.show()sys.exit(app.exec_())

遇到的问题


改写效果展示


改写注意点

self.button3.setEnabled(False)

# 默认按钮一个窗口只能有一个,默认被高亮
self.button4.setDefault(True)


改写代码(QTdesigner模式)

# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: 188891020@qq.com
@File: class37.py
@CreateTime: 2020/5/11 23:21
'''import sys
from PyQt5.QtWidgets import QApplication
from PyQt5 import uicclass my_form():def __init__(self):super().__init__()self.ui = uic.loadUi("../ui_package/class37.ui")self.ui.button1.toggle()self.ui.button1.clicked.connect(self.buttonState)self.ui.button1.clicked.connect(lambda: self.whichButton(self.ui.button1))self.ui.button2.clicked.connect(lambda: self.whichButton(self.ui.button2))self.ui.button4.clicked.connect(lambda: self.whichButton(self.ui.button4))def buttonState(self):if self.ui.button1.isChecked():print('按钮1已经被选中')else:print('按钮1未被选中')def whichButton(self, btn):print('被单击的按钮是<' + btn.text() + '>')
if __name__ == '__main__':app = QApplication(sys.argv)main = my_form()main.ui.show()sys.exit(app.exec_())

【QTdesigner】课时37.按钮控件(QPushButton)【pyqt5+QTdesigner模式】相关推荐

  1. qt 关闭窗口的槽函数_勇哥的VC++应用框架学习之QT(1) 信号槽、按钮控件、opencv读取显示图片...

    前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验. 在写程序时,UI.基础类库.应用程序框架对于vc来讲,只能依靠MFC和QT了. 勇哥对MFC有很强的抵触, ...

  2. python 按钮控件_python实现360皮肤按钮控件示例

    python实现360皮肤按钮控件示例. 代码: #!/usr/bin/python #-*-coding:utf-8-*- #site www.jbxue.com from PyQt4.QtGui ...

  3. qt建立一个按钮控件

    1.如果建立一个按钮控件 2.指定按钮控件的父对象 3.指定按钮控件的位置 4.设置按钮控件的大小 1.如果建立一个空间按钮 在头文件加上:#include<QPushButton>.(记 ...

  4. android togglebutton 动画,如何在Android中使用ToggleButton多状态按钮控件

    如何在Android中使用ToggleButton多状态按钮控件 发布时间:2020-12-05 16:53:37 来源:亿速云 阅读:84 作者:Leah 这篇文章给大家介绍如何在Android中使 ...

  5. 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )

    文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...

  6. 按钮控件里面的间距问题

    一个简单的按钮,里面可能不仅仅是显示文字,让我们去点击,一个按钮控件,子控件可能会有一个图片, 当然,也可能会包含一个图片和文字,里面还嵌套着内部间距等各种问题.(也要值得注意的的是这里的图片不是通过 ...

  7. 在access窗体中加图片_Access实战:一种不用按钮控件就能控制子窗体联动的方法...

    近来宇哥潜心研究Access的设计,多有心得,在此共享一二.Access窗体若要进行控制,是需要通过按钮控件的,我经过自己探索,发现了一种更加简单的方法,也就是不用控件,通过直接点击窗体已有的表格,就 ...

  8. QT旋转按钮控件的实现

    目录 一.实现需求:鼠标hover时旋转 二.实现方式:计时器做动画 三.代码实现 QT旋转按钮控件的实现 一.实现需求:鼠标hover时旋转 需求是:实现类似于WINDOWS下,某些软件窗口关闭按钮 ...

  9. Winform中实现自定义水晶按钮控件(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个用户 ...

最新文章

  1. Linux C编程--临时文件
  2. python网课推荐 知乎-知乎看了很多推荐,最终选了这本Python入门
  3. 多对多关联查询sql语句
  4. Python 为什么要用线程池?
  5. POJ1260-Pearls
  6. 请君入瓮:研究员找到 Emotet 的bug,并成功阻止传播
  7. 协同过滤工具源码下载
  8. java转sap hybris方向_SAP Hybris的Convertor, Populator, Facade和DTO这几个概念是如何协同工作的...
  9. 懒人工作源码分析(1)
  10. Padavan老毛子固件玩法入门
  11. 数学建模——层次分析法(Matlab)【评价类问题】
  12. 基于证据理论的多源数据融合仿真实验matlab代码(源码)
  13. CO-PA: 获利能力分析数据的传送(月末业务)
  14. 解读LED灯具中国能效认证
  15. CCIE-重认证-300-410-补充题库-必须的哟
  16. 将HTML5封装成android应用APK文件的几种方法
  17. 基于深度学习下的稳定学习究竟是什么?因果学习?迁移学习?之一
  18. 记一次被QQ邮箱钓鱼邮件事件
  19. linux /etc/security/login.cfg,AIX用户管理
  20. 愿你编码半生,归来仍是少年

热门文章

  1. Swagger接口测试工具。
  2. 企业,绩效管理为何力不从心
  3. git clone 修改配置 设置代理 加速
  4. html字体及颜色设置
  5. 51单片机入门——Proteus 8 Professional的使用
  6. 漂浮广告是什么?漂浮广告如何设置
  7. 程序员职场务必了解的薪资待遇
  8. [正则表达式]可以为空值,不为空则要验证格式
  9. CMMI特定目标(SG)和特定实践(SP)汇总
  10. AliOS Things 3.3.0 : KV组件介绍