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多重继承实例
Oct 11 Python
在Python中编写数据库模块的教程
Apr 29 Python
Python同时向控制台和文件输出日志logging的方法
May 26 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
python3 判断列表是一个空列表的方法
May 04 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
python根据时间获取周数代码实例
Sep 30 Python
python装饰器的特性原理详解
Dec 25 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 Python
Django windows使用Apache实现部署流程解析
Oct 12 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 如何利用phpexcel导入数据库
2013/08/24 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
JS location几个方法小姐
2008/07/09 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
js中hash和ico的关联分析
2015/02/05 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
使用Python的判断语句模拟三目运算
2015/04/24 Python
Django中间件实现拦截器的方法
2018/06/01 Python
python最长回文串算法
2018/06/04 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
医院实习介绍信
2014/01/12 职场文书
小学生秋游活动方案
2014/02/23 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
Python访问Redis的详细操作
2021/06/26 Python
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
你需要掌握的20个Python常用技巧
2022/02/28 Python
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android