如何按下主界面的参数输入按钮,出现第二个窗口
import sys
from math import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QApplication,QMainWindow
################################################
#######创建主窗口
################################################
class FirstMainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle('主界面')
self.resize(1200, 700)
###### 创建界面 ######
self.centralwidget = QWidget()
self.setCentralWidget(self.centralwidget)
self.Layout = QVBoxLayout(self.centralwidget)
# 设置按钮
self.pushButton1 = QPushButton(self)
self.pushButton1.setText('软件使用指导')
self.pushButton1.move(10, 10)
self.pushButton2 = QPushButton(self)
self.pushButton2.setText('参数输入')
self.pushButton2.move(300, 10)
self.pushButton3 = QPushButton(self)
self.pushButton3.setText('参数评定')
self.pushButton3.move(500, 10)
self.pushButton4 = QPushButton(self)
self.pushButton4.setText('保存')
self.pushButton4.move(750, 10)
self.pushButton5 = QPushButton(self)
self.pushButton5.setText('调用')
self.pushButton5.move(1000, 10)
self.pushButton6 = QPushButton(self)
self.pushButton6.setText('导入图片')
self.pushButton6.move(10, 50)
self.pushButton7 = QPushButton(self)
self.pushButton7.setText('图像处理')
self.pushButton7.move(10, 250)
self.pushButton8 = QPushButton(self)
self.pushButton8.setText('图像处理')
self.pushButton8.move(10, 450)
###### 三个按钮事件 ######
self.pushButton1.clicked.connect(self.on_pushButton1_clicked)
self.pushButton2.clicked.connect(self.on_pushButton2_clicked)
# 按钮一:打开主界面
def on_pushButton1_clicked(self):
text = self.sender().text()
if text == '软件使用指导':
QMessageBox.about(self, '使用指导', '按下参下调用可以调出之前')
# 按钮二:打开对话框
windowList = []
def on_pushButton2_clicked(self):
the_window = SecondWindow()
self.windowList.append(the_window) ##注:没有这句,是不打开另一个主界面的!
self.close()
the_window.show()
################################################
#######b表格框
################################################
class SecondWindow(QMainWindow):
###### 重写关闭事件,回到第一界面
windowList = []
def closeEvent(self, event):
the_window = FirstMainWindow()
self.windowList.append(the_window) ##注:没有这句,是不打开另一个主界面的!
the_window.show()
event.accept()
################################################
#######图片框
################################################
################################################
#######程序入门
################################################
if __name__ == "__main__":
app = QApplication(sys.argv)
the_mainwindow = FirstMainWindow()
the_mainwindow.show()
sys.exit(app.exec_())
第二个
#以下是GUI图形界面的创建
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication,QMainWindow
from math import *
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 599)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(50, 90, 51, 16))
self.label_2.setObjectName("label_2")
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(50, 145, 61, 16))
self.label_5.setObjectName("label_5")
self.label_6 = QtWidgets.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(50, 220, 61, 16))
self.label_6.setObjectName("label_6")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(270, 90, 41, 16))
self.label_3.setObjectName("label_3")
self.label_7 = QtWidgets.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(270, 150, 71, 19))
self.label_7.setObjectName("label_7")
self.label_8 = QtWidgets.QLabel(self.centralwidget)
self.label_8.setGeometry(QtCore.QRect(270, 210, 71, 19))
self.label_8.setObjectName("label_8")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(50, 110, 71, 31))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(50, 170, 71, 31))
self.lineEdit_2.setObjectName("lineEdit_2")
self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_3.setGeometry(QtCore.QRect(250, 110, 71, 31))
self.lineEdit_3.setObjectName("lineEdit_3")
self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_4.setGeometry(QtCore.QRect(250, 170, 71, 31))
self.lineEdit_4.setObjectName("lineEdit_4")
self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_5.setGeometry(QtCore.QRect(55, 240, 71, 31))
self.lineEdit_5.setObjectName("lineEdit_5")
self.lineEdit_6 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_6.setGeometry(QtCore.QRect(250, 240, 71, 31))
self.lineEdit_6.setObjectName("lineEdit_6")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(80, 300, 56, 30))
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 18))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.pushButton.clicked.connect(self.btnshanbing_click)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label_2.setText(_translate("MainWindow", "大径"))
self.label_5.setText(_translate("MainWindow", "牙型半角"))
self.label_6.setText(_translate("MainWindow", "中径"))
self.label_3.setText(_translate("MainWindow", "螺距"))
self.label_7.setText(_translate("MainWindow", "物镜倍数"))
self.label_8.setText(_translate("MainWindow", "目镜倍数"))
self.pushButton.setText(_translate("MainWindow", "确定"))
def btnshanbing_click(self):
# 以下是将文本框里面的内容读取出来同时将里面的类型转换为浮点型
a = float(self.lineEdit.text())
c = float(self.lineEdit_2.text())
b = float(self.lineEdit_3.text())
d = float(self.lineEdit_4.text())
# 以下是计算公式
e = a-0.6498*b
# 以下是将计算的结果生成在LineEdit_5里面去,但是要注意的是必须将计算的结果转换为字符型,否则程序运行不起来
self.lineEdit_5.setText(str(e))
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
if __name__ == "__main__":
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
可以参考这篇博文:https://blog.csdn.net/weixin_39449466/article/details/81008711