pyqt5使用按钮进行界面的跳转方法


Posted in Python onJune 19, 2019

简介

进行按钮进行界面的跳转,我这里面我介绍两种,一种是没有使用Qtdesigner的代码,另一种是使用Qtdesigner的代码

代码1

import sys
from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication
 
 
class First(QMainWindow):
 
  def __init__(self):
    super().__init__()
 
    self.initUI()
 
  def initUI(self):
    self.btn = QPushButton("Button", self)
    self.btn.move(30, 50)
    
 
 
    self.setGeometry(300, 300, 500, 500)
    self.setWindowTitle('Event sender')
    self.show()
 
class Second(QMainWindow):
  def __init__(self):
    super().__init__()
 
    self.initUI()
 
  def initUI(self):
    self.setGeometry(300, 300, 290, 150)
    self.setWindowTitle('Get sender')
 
 
if __name__ == '__main__':
  app = QApplication(sys.argv)
  a = First()
  b = Second()
  a.show()
  a.btn.clicked.connect(b.show)
  sys.exit(app.exec_())

代码2

下面的代码使用了Qtdesigner的代码

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QLabel,\
                     QPushButton, QLineEdit, QMenuBar, QStatusBar
from PyQt5.QtCore import *
 
class FirstWindow(QWidget):
 
  def __init__(self, parent=None):
    # super这个用法是调用父类的构造函数
    # parent=None表示默认没有父Widget,如果指定父亲Widget,则调用之
    super(FirstWindow, self).__init__(parent)
    self.setGeometry(500, 500, 500, 500)
    self.setWindowTitle('显示')
 
    self.btn = QPushButton(self)
    self.btn.setText('标定')
    self.btn.move(150, 50)
 
 
#下面的一部分是Qtdesigner的代码
 
class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(624, 479)
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.label = QtWidgets.QLabel(self.centralwidget)
    self.label.setGeometry(QtCore.QRect(190, 130, 51, 31))
    self.label.setObjectName("label")
    self.pushButton = QtWidgets.QPushButton(self.centralwidget)
    self.pushButton.setGeometry(QtCore.QRect(330, 260, 75, 23))
    self.pushButton.setObjectName("pushButton")
    self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
    self.lineEdit.setGeometry(QtCore.QRect(280, 130, 151, 21))
    self.lineEdit.setObjectName("lineEdit")
    self.label_2 = QtWidgets.QLabel(self.centralwidget)
    self.label_2.setGeometry(QtCore.QRect(190, 180, 51, 31))
    self.label_2.setObjectName("label_2")
    self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
    self.lineEdit_2.setGeometry(QtCore.QRect(280, 190, 151, 21))
    self.lineEdit_2.setObjectName("lineEdit_2")
    self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
    self.pushButton_2.setGeometry(QtCore.QRect(200, 260, 75, 23))
    self.pushButton_2.setObjectName("pushButton_2")
    MainWindow.setCentralWidget(self.centralwidget)
    self.menubar = QtWidgets.QMenuBar(MainWindow)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 624, 23))
    self.menubar.setObjectName("menubar")
    MainWindow.setMenuBar(self.menubar)
    self.statusbar = QtWidgets.QStatusBar(MainWindow)
    self.statusbar.setObjectName("statusbar")
    MainWindow.setStatusBar(self.statusbar)
 
    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
  def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
    self.label.setText(_translate("MainWindow", "  长"))
    self.pushButton.setText(_translate("MainWindow", "确定"))
    self.label_2.setText(_translate("MainWindow", "  宽"))
    self.pushButton_2.setText(_translate("MainWindow", "取消"))
 
if __name__ == "__main__":
  app = QApplication(sys.argv)
  MainWindow = QMainWindow()
  ui = Ui_MainWindow()
  ui.setupUi(MainWindow)
 
  ex = FirstWindow()
  ex.btn.clicked.connect(MainWindow.show)
  ex.show()
 
  sys.exit(app.exec_())

以上这篇pyqt5使用按钮进行界面的跳转方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于进程内通讯的python聊天室实现方法
Jun 28 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
深入理解Python对Json的解析
Feb 14 Python
Python只用40行代码编写的计算器实例
May 10 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
python3将视频流保存为本地视频文件
Jun 20 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
Django实现单用户登录的方法示例
Mar 28 Python
Python实现打砖块小游戏代码实例
May 18 Python
python变量命名的7条建议
Jul 04 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
Python发展史及网络爬虫
Jun 19 #Python
Python QQBot库的QQ聊天机器人
Jun 19 #Python
python替换字符串中的子串图文步骤
Jun 19 #Python
python实现QQ批量登录功能
Jun 19 #Python
python里 super类的工作原理详解
Jun 19 #Python
Python创建或生成列表的操作方法
Jun 19 #Python
Django REST framework 分页的实现代码
Jun 19 #Python
You might like
php若干单维数组遍历方法的比较
2011/09/20 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
phpize的深入理解
2013/06/03 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
Python爬取附近餐馆信息代码示例
2017/12/09 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
掌上明珠Java程序员面试总结
2016/02/23 面试题
物业经理求职自我评价
2013/09/22 职场文书
护理学专业推荐信
2013/12/03 职场文书
环保建议书200字
2014/05/14 职场文书
食品流通安全承诺书
2014/05/22 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
python脚本框架webpy的url映射详解
2021/11/20 Python