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实现找出数组中第2大数字的方法示例
Mar 26 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
Python日志无延迟实时写入的示例
Jul 11 Python
Python Web版语音合成实例详解
Jul 16 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
Python 如何优雅的将数字转化为时间格式的方法
Sep 26 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
Python unittest单元测试框架实现参数化
Apr 29 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
深入了解Python装饰器的高级用法
Aug 13 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 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
计数器详细设计
2006/10/09 PHP
用PHP制作的意见反馈表源码
2007/03/11 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
JS 自动安装exe程序
2008/11/30 Javascript
清空上传控件input file的值
2010/07/03 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
Python发展史及网络爬虫
2019/06/19 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
房地产融资计划书
2014/01/10 职场文书
高一历史教学反思
2014/01/13 职场文书
小学二年级评语
2014/04/21 职场文书
党员自评材料范文
2014/12/17 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
运动会通讯稿600字
2015/07/20 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL