Pyqt5 Uses Buttons to Skip Interfaces

Time:2019-10-4

brief introduction

There are two kinds of buttons to jump the interface. One is the code that does not use Qtdesigner, the other is the code that uses Qtdesigner.

Code 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_())

Code 2

The following code uses Qtdesigner’s code

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):
    # The use of super is to call the constructor of the parent class
    # Pare = None means that there is no parent Widget by default, and if a parent Widget is specified, it is called
    super(FirstWindow, self).__init__(parent)
    self.setGeometry(500, 500, 500, 500)
    Self. set Windows Title ('Display')
 
    self.btn = QPushButton(self)
    Self. btn. setText ('Calibration')
    self.btn.move(150, 50)
 
 
# The following section is the code for 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", "Long")
    Self. pushButton. setText (_translate ("MainWindow", "OK")
    Self. label_2. setText (_translate ("MainWindow", "Wide")
    Self. pushButton_2. setText (_translate ("MainWindow", "Cancel")
 
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_())

The above pyqt5 use buttons to jump the interface method is the editor to share all the content, I hope to give you a reference, but also hope that you support more developpaer.

Recommended Today

Detailed explanation of spring cloud ribbon load balancing Shenkeng that cannot be connected through the server name

First, the problem. Take the Eureka cluster and the client calls the service through the ribbon. The ribbon side reports the following exceptions java.net.UnknownHostException: SERVICE-HI java.lang.IllegalStateException: No instances available for SERVICE-HI java.lang.IllegalStateException: Request URI does not contain a valid hostname: http://SERVICE-HI com.netfix.discovery.shared.taransport.TransportException: Cannot execute request on any known server The spring cloud version is messy, […]