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 13 Python
python自定义解析简单xml格式文件的方法
May 11 Python
python3爬取各类天气信息
Feb 24 Python
Python从零开始创建区块链
Mar 06 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
Python3自定义json逐层解析器代码
May 11 Python
浅析Python 序列化与反序列化
Aug 05 Python
jupyter notebook更换皮肤主题的实现
Jan 07 Python
python使用glob检索文件的操作
May 20 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的开合式多级菜单程序
2006/10/09 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
PHP 8新特性简介
2020/08/18 PHP
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
浅析JavaScript动画
2015/06/10 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
用vue写一个日历
2020/11/02 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
Python函数返回值实例分析
2015/06/08 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
python命令行参数用法实例分析
2019/06/25 Python
Python shelve模块实现解析
2019/08/28 Python
python实现交并比IOU教程
2020/04/16 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
给排水工程师岗位职责
2013/11/21 职场文书
小区文明倡议书
2014/05/16 职场文书
投资意向协议书
2015/01/29 职场文书
承兑汇票延期证明
2015/06/23 职场文书
法制主题班会教案
2015/08/13 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书