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 mysqldb连接数据库
Mar 16 Python
Python监控主机是否存活并以邮件报警
Sep 22 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
对numpy中轴与维度的理解
Apr 18 Python
Python global全局变量函数详解
Sep 18 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
python框架django项目部署相关知识详解
Nov 04 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
基于python实现坦克大战游戏
Oct 27 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 26 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
一道关于php变量引用的面试题
2010/08/08 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python实现Linux中的du命令
2017/06/12 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
python 代码运行时间获取方式详解
2020/09/18 Python
购买一个高级域名:BuyDomains
2018/03/11 全球购物
什么是serialVersionUID
2016/03/04 面试题
计算机工程学院个人求职信
2013/10/05 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
西柏坡观后感
2015/06/08 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
css3 文字断裂效果
2022/04/22 HTML / CSS