pyqt5+qt desiger实例教程(1)创建含有三个按钮的窗口,点击按钮2输出消息、按钮3可退出
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
,此时你按下定义的按钮,那么按钮就会发出信号给你指定的槽,槽就是你指定的方法,因此此时就会调用你写的方法。
对各个Label
和QpushButton
进行自定义,分别改变objectName
和text
。objetNname
需要设定一个自己能记得住的名字,因此在qtdesiger中仅仅是窗口界面,而逻辑的书写仍然需要自己编写,这个objectName
是被用来作为信号使用。
分别对QpushButton
和Label
进行自定义,QpushButton
的objectName
分别改为button_1
、button_3
、button_2
,label
的objectName
可以不进行更改,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可退出相关推荐
- PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍
PyQt5 Qt Designer 新手教程(一)-- 软件界面介绍 教程博文 一.前言 终于学到了 PyQt5 Qt 设计师(Qt Designer)这个软件,博主感觉心情还是很激动的.因为,当初学 ...
- 一起谈.NET技术,Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇 Silverlight 实例教程 - Out of Browser配置,安装和卸载 Sil ...
- XAML实例教程系列 - 命名空间(NameSpace) 三
XAML实例教程系列 - 命名空间(NameSpace) 2012-05-28 14:14 by jv9, 2205 阅读, 10 评论, 收藏, 编辑 上一篇曾提及XAML中,每个对象元素的声明是对 ...
- 改变窗口背景_Illustrator实例教程:只需三步,利用画笔描边做出炫酷的背景
今天我们给大家带来一篇Illustrator实例教程,教大家只用三步,就能做出非常炫酷的背景效果.当然,这个方法也是我在平时的工作中发现和总结的,希望能够对你有所帮助. 我们先来看一下最终的效果吧! ...
- Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从Javascr ...
- html折叠菜单列子,javascript实例教程(2) 创建折叠式导航菜单_javascript教程
为了创建折叠式的导航菜单,你可以在网页的最前面部分以下代码: function formHandler() { var URL = document.form.site.options [docume ...
- HTML5实例教程——简易涂鸦板-何韬-专题视频课程
HTML5实例教程--简易涂鸦板-6858人已学习 课程介绍 用CANVES制作一个涂鸦板,让初学者初步了解HTML5的语言与功能. 课程收益 快速学会涂鸦板的做法,同时对HT ...
- Word排版之段落样式+如何创建一个三线表外观的表格样式
通过建立正文.标题.表格等的段落样式可以方便的统一调整文章各部分样式类型.点击样式栏右下角的小三角可以弹出样式对话框,执行新建.管理.删除样式等操作. 首先建立"论文正文"样式 ...
- 详解Linux交互式shell脚本中创建对话框实例教程
详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...
最新文章
- hdu2236 无题II 最大匹配 + 二分搜索
- centos7 安装apache+php+memcache
- 机器学习入门系列一(关键词:单变量线性回归,梯度下降法)
- [詹兴致矩阵论习题参考解答]习题3.6
- 爬楼梯 java_Leetcode 70.爬楼梯(Java)
- MGW——美团点评高性能四层负载均衡
- UP装机部署步骤大纲
- 用CSS的float和clear创建三栏液态布局的方法(转载)
- 小白转前端,学习哪些知识点才能不走弯路?
- 递归的Fibonacci在数羊
- python PNG图片显示
- 微信名片 服务器繁忙,微信群发名片发不出去
- nvme SSD和sata SSD的对比
- vue3.0 ele-plus 与 antd-design的使用
- linux系统下配置无线网卡的方法,linux系统下配置无线网卡的具体步骤
- 企鹅牵条狗以为就能飞 合体新生潜力如何
- 使用nodejs + wecharty打造你的个人微信机器人
- 【转载】超简单集成HMS ML Kit 人脸检测实现可爱2D贴纸
- v-for错误:应为数组元素析构模式
- hadoop SWAP交换空间
热门文章
- 孙玉 计算机教授,孙玉
- 一年成为Emacs高手(像神一样使用编辑器)
- 第二代机器人操作系统课程资料汇总 Course Learning Materials for ROS2 2019.10.23
- docker修改系统时间总结
- R语言使用epiDisplay包的kap函数(kap.2.raters函数)计算Kappa统计量的值(总一致性、期望一致性)、对两个评分对象的结果进行一致性分析、评分的类别为多个类别
- 【朝花夕拾】Android编码风格篇
- 身份证最后一位校验码
- Android 基于Socket的聊天室
- HTML5标签+基础特性
- webRTC(六):webrtc信令服务器实现