快递邮费计算器

一个简单的快递邮费计算器。是学编程初期的一个小作业,最开始是用纯脚本的方式实现,现在重写了,实现了可视化的界面。用到了动态加载ui文件的技巧。ui文件是由PySide2 自带的 Qt Designer工具生成的,这个工具用于生成UI界面非常方便,在这个工具里把想要的程序界面设计好以后,保存成一个ui文件,再在python里加载这个ui文件,省去了用代码敲出界面的一大麻烦。后续多找几个项目练习一下这个。

from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile

class Stats:

    def __init__(self):
        # 从文件中加载UI定义
        #qfile_stats = QFile('1.ui')
        #qfile_stats.open(QFile.ReadOnly)
        #qfile_stats.close()

        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit

        #self.ui = QUiLoader().load(qfile_stats)
        self.ui = QUiLoader().load('1.ui')

        self.ui.pushButton.clicked.connect(self.handleCalc)

    def handleCalc(self):

        weight = float(self.ui.textEdit1.toPlainText())
        address = self.ui.textEdit2.toPlainText()
        price = ''

        if 0<weight <=3:

            if address == '1':

                price = '总价是12元'

            elif address == '2':

                price = '总价是20元'

            elif address == '3':

                price = '不接受寄件'

            elif address == '4':

                price = '总价是10元'

            else:

                price = '地址代码错误!'

        elif weight >3:

            if address == '1':

                price = f'总价是{12+(weight-3)*10}元'

            elif address == '2':

                price = f'总价是{20+(weight-3)*20}元'

            elif address == '3':

                price = '请联系总公司'

            elif address == '4':

                price = f'总价是{10+(weight-3) * 5}元'

            else:

                price = '地址代码错误!'

        elif weight<=0:

            price = '重量错误!'








        
        QMessageBox.about(self.ui,
                    '计算结果',
                    f'''您好:\n{price}
                    '''
                    )

app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值