python ui界面设计(二)

以加减乘除为例子,使用pycharm

1.设计界面

  • 设计首页

点击tools->External Tools->Qt Designer,添加四个按钮,分别为页面1,页面2,页面3,页面4,保存为shouye.ui

在这里插入图片描述

在终端使用pyuic5 -o shouye.py shouye.ui -x将ui文件转为.py文件

  • 页面1

    实现两个数相加,数字1和数字2为label,数字输入框为LineEdit,结果为PushButton,结果输出框为TextEdit。
    在这里插入图片描述

添加链接关系:

在setupUi()里加入一下代码,add为函数名。

self.pushButton.clicked.connect(self.add)

获得LineEdit的内容

self.lineEdit.text()

获得TextEdit的内容和输入内容

self.textEdit.toPlainText()
self.textEdit.setText('要输入的内容')

在这里插入图片描述

  • 页面2,页面3,页面4同上

2.不同页面之间的跳转

在主界面导入各个页面py文件

from add import *    # py文件名
from sub import *
from mul import *
from dev import *

将主界面的object和QtWidgets.QMainWindow,并将各个子界面的类名进行修改,以免与主界面类名重名,并进行以下定义:

class Ui_MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(Ui_MainWindow,self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)
class Add(QtWidgets.QMainWindow):
    def __init__(self):
        super(Add,self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)
class Sub(QtWidgets.QMainWindow):
    def __init__(self):
        super(Sub,self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)
class Mul(QtWidgets.QMainWindow):
    def __init__(self):
        super(Mul,self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)
class Dev(QtWidgets.QMainWindow):
    def __init__(self):
        super(Dev,self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)

设置首页页面按钮跳转

self.pushButton.clicked.connect(self.yemian1)
self.pushButton_2.clicked.connect(self.yemian2)
self.pushButton_3.clicked.connect(self.yemian3)
self.pushButton_4.clicked.connect(self.yemian4)

并设计各个页面跳转函数

def yemian1(self):
    ui_add.show()
    MainWindow.close()
def yemian2(self):
    ui_sub.show()
    MainWindow.close()
def yemian3(self):
    ui_mul.show()
    MainWindow.close()
def yemian4(self):
    ui_dev.show()
    MainWindow.close()

在这里插入图片描述

在页面里设置各个页面跳转的对象

ui_add=Add()   # 类名
ui_sub=Sub()
ui_mul=Mul()
ui_dev=Dev()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fyfy96/article/details/121525279