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实现的多线程端口扫描工具分享
Jan 21 Python
Python中实现结构相似的函数调用方法
Mar 10 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
python查看数据类型的方法
Oct 12 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
python引入其他文件夹下的py文件具体方法
May 23 Python
Python极值整数的边界探讨分析
Sep 15 Python
django中websocket的具体使用
Jan 22 Python
Python 一键获取电脑浏览器的账号密码
May 11 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模板引擎技术简单实现
2016/03/15 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
Python抓取京东图书评论数据
2014/08/31 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
python执行使用shell命令方法分享
2017/11/08 Python
用python实现百度翻译的示例代码
2018/03/09 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
应届大学生求职信
2013/12/01 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
文明旅游倡议书
2015/04/28 职场文书
戒赌保证书
2015/05/11 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB