pyqt5+qt desiger实例教程(1)创建含有三个按钮的窗口,点击按钮三可退出

目标:设计一个含有三个按钮的窗口,点击按钮2弹出消息,点击按钮3退出


如果是使用的anacoda那么自带qtdesiger,搜索qt.exe即可,建议使用everything进行搜索。如qt不能打开,参考:https://blog.csdn.net/weixin_43245453/article/details/90580002

第一步骤![在这里插入图片描述](https://img-blog.csdnimg.cn/20190603214922723.gif
新建一个widget

第二步:

在建立好的窗口之上,拖动三个Labe和三个QpushButton到窗口中去,QPushButton小部件提供了一个命令按钮。如下图所示

第三步骤:

在这一步之前需要对信号和槽有一定的认识,信号一般是按钮触发,而槽一般是定义的函数或者系统自带的功能(自我理解,望大佬指正)。在qtdesiger设计好界面之后,我们会在另外写一个程序去调用,而此时我们就需要把信号和槽链接起来,使用connect,此时你按下定义的按钮,那么按钮就会发出信号给你指定的槽,槽就是你指定的方法,因此此时就会调用你写的方法。

对各个LabelQpushButton进行自定义,分别改变objectNametextobjetNname需要设定一个自己能记得住的名字,因此在qtdesiger中仅仅是窗口界面,而逻辑的书写仍然需要自己编写,这个objectName是被用来作为信号使用。

分别对QpushButtonLabel进行自定义,QpushButtonobjectName分别改为button_1button_3button_2labelobjectName可以不进行更改,text更改显示如下

然后将文件保存,我保存的为stest.ui,需要对其转化为py文件才能进行调用,因此需对其进行转换

pyuic5 -o stest.py stest.ui

stets.py中的代码如下:

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'test.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(695, 523)self.button_1 = QtWidgets.QPushButton(Form)self.button_1.setGeometry(QtCore.QRect(290, 70, 75, 23))self.button_1.setObjectName("button_1")self.button_2 = QtWidgets.QPushButton(Form)self.button_2.setGeometry(QtCore.QRect(290, 200, 75, 23))self.button_2.setObjectName("button_2")self.button_3 = QtWidgets.QPushButton(Form)self.button_3.setGeometry(QtCore.QRect(290, 310, 75, 23))self.button_3.setObjectName("button_3")self.label = QtWidgets.QLabel(Form)self.label.setGeometry(QtCore.QRect(130, 70, 54, 12))self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(Form)self.label_2.setGeometry(QtCore.QRect(140, 210, 54, 12))self.label_2.setObjectName("label_2")self.label_3 = QtWidgets.QLabel(Form)self.label_3.setGeometry(QtCore.QRect(140, 330, 54, 12))self.label_3.setObjectName("label_3")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.button_1.setText(_translate("Form", "按钮1"))self.button_2.setText(_translate("Form", "按钮2"))self.button_3.setText(_translate("Form", "按钮3"))self.label.setText(_translate("Form", "1"))self.label_2.setText(_translate("Form", "2"))self.label_3.setText(_translate("Form", "3"))

第四部:新建一个.py文件调用

# -*- coding: utf-8 -*-
"""
Created on Mon Jun  3 21:31:18 2019@author: innduce
"""from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox,QFileDialog
from stest import Ui_Form
import sysclass MyMain(QWidget,Ui_Form):#QWidget是因为创建的是QWidget类,Ui_Form创建窗口Form的objectNamedef __init__(self):super(MyMain, self).__init__()self.setupUi(self)if __name__ =="__main__":app = QApplication(sys.argv)main = MyMain()main.show()#显示窗口sys.exit(app.exec_())

结果:

现在你点击按钮不会有任何变化,因为并没有对着三个按钮建立信号和槽,现在对按钮2、按钮3建立信号和槽

from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox,QFileDialog
from stest import Ui_Form
import sysclass MyMain(QWidget,Ui_Form):def __init__(self):super(MyMain, self).__init__()self.setupUi(self)self.button_2.clicked.connect(self.tj)#建立信号和槽,button_2即为按钮2的objectName,tj为槽也就是自定义的方法self.button_3.clicked.connect(self.close)#close为内置方法(关闭)def tj(self):print('正在点击按钮2')if __name__ =="__main__":app = QApplication(sys.argv)main = MyMain()main.show()sys.exit(app.exec_())

此时在点击按钮2就会在窗口显示:、点击按钮3就会自动退出

pyqt5+qt desiger实例教程(1)创建含有三个按钮的窗口,点击按钮2输出消息、按钮3可退出相关推荐

  1. PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍

    PyQt5 Qt Designer 新手教程(一)-- 软件界面介绍 教程博文 一.前言 终于学到了 PyQt5 Qt 设计师(Qt Designer)这个软件,博主感觉心情还是很激动的.因为,当初学 ...

  2. 一起谈.NET技术,Silverlight实例教程 - Out of Browser的Debug和Notifications窗口

    Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇 Silverlight 实例教程 - Out of Browser配置,安装和卸载 Sil ...

  3. XAML实例教程系列 - 命名空间(NameSpace) 三

    XAML实例教程系列 - 命名空间(NameSpace) 2012-05-28 14:14 by jv9, 2205 阅读, 10 评论, 收藏, 编辑 上一篇曾提及XAML中,每个对象元素的声明是对 ...

  4. 改变窗口背景_Illustrator实例教程:只需三步,利用画笔描边做出炫酷的背景

    今天我们给大家带来一篇Illustrator实例教程,教大家只用三步,就能做出非常炫酷的背景效果.当然,这个方法也是我在平时的工作中发现和总结的,希望能够对你有所帮助. 我们先来看一下最终的效果吧! ...

  5. Silverlight实例教程 - Out of Browser的Debug和Notifications窗口

    熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从Javascr ...

  6. html折叠菜单列子,javascript实例教程(2) 创建折叠式导航菜单_javascript教程

    为了创建折叠式的导航菜单,你可以在网页的最前面部分以下代码: function formHandler() { var URL = document.form.site.options [docume ...

  7. HTML5实例教程——简易涂鸦板-何韬-专题视频课程

    HTML5实例教程--简易涂鸦板-6858人已学习 课程介绍         用CANVES制作一个涂鸦板,让初学者初步了解HTML5的语言与功能. 课程收益     快速学会涂鸦板的做法,同时对HT ...

  8. Word排版之段落样式+如何创建一个三线表外观的表格样式

      通过建立正文.标题.表格等的段落样式可以方便的统一调整文章各部分样式类型.点击样式栏右下角的小三角可以弹出样式对话框,执行新建.管理.删除样式等操作. 首先建立"论文正文"样式 ...

  9. 详解Linux交互式shell脚本中创建对话框实例教程

    详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...

最新文章

  1. hdu2236 无题II 最大匹配 + 二分搜索
  2. centos7 安装apache+php+memcache
  3. 机器学习入门系列一(关键词:单变量线性回归,梯度下降法)
  4. [詹兴致矩阵论习题参考解答]习题3.6
  5. 爬楼梯 java_Leetcode 70.爬楼梯(Java)
  6. MGW——美团点评高性能四层负载均衡
  7. UP装机部署步骤大纲
  8. 用CSS的float和clear创建三栏液态布局的方法(转载)
  9. 小白转前端,学习哪些知识点才能不走弯路?
  10. 递归的Fibonacci在数羊
  11. python PNG图片显示
  12. 微信名片 服务器繁忙,微信群发名片发不出去
  13. nvme SSD和sata SSD的对比
  14. vue3.0 ele-plus 与 antd-design的使用
  15. linux系统下配置无线网卡的方法,linux系统下配置无线网卡的具体步骤
  16. 企鹅牵条狗以为就能飞 合体新生潜力如何
  17. 使用nodejs + wecharty打造你的个人微信机器人
  18. 【转载】超简单集成HMS ML Kit 人脸检测实现可爱2D贴纸
  19. v-for错误:应为数组元素析构模式
  20. hadoop SWAP交换空间

热门文章

  1. 孙玉 计算机教授,孙玉
  2. 一年成为Emacs高手(像神一样使用编辑器)
  3. 第二代机器人操作系统课程资料汇总 Course Learning Materials for ROS2 2019.10.23
  4. docker修改系统时间总结
  5. R语言使用epiDisplay包的kap函数(kap.2.raters函数)计算Kappa统计量的值(总一致性、期望一致性)、对两个评分对象的结果进行一致性分析、评分的类别为多个类别
  6. 【朝花夕拾】Android编码风格篇
  7. 身份证最后一位校验码
  8. Android 基于Socket的聊天室
  9. HTML5标签+基础特性
  10. webRTC(六):webrtc信令服务器实现