美文网首页Python
Python 开发:制作一个简易的点菜系统(附源码)

Python 开发:制作一个简易的点菜系统(附源码)

作者: 松鼠爱吃饼干 | 来源:发表于2020-12-25 13:56 被阅读0次

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

    以下文章来源于海唤鱼杂记客栈 ,作者:海唤鱼杂记客栈

    Python GUI编程:高清电影在线观看平台制作,全网电影免费看

    https://www.bilibili.com/video/BV1tz4y1o7Yc/
    

    案例:

    利用列表的形式设计一个用户选择界面

    工具:

    • python
    • PyQt5

    程序运行结果如下:

    (1)初始界面

    (2)选择菜单项

    (3)选择多重时

    设计程序如下:

    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(300, 300)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.listWidget = QtWidgets.QListWidget(self.centralwidget)
            self.listWidget.setGeometry(QtCore.QRect(20, 10, 260, 260))
            self.listWidget.setObjectName("listWidget")
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
            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)
    
            # 设置列表可以多选
            self.listWidget.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
            # 设置选中方式为整行选中
            self.listWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
            # 设置以列表形式显示数据
            self.listWidget.setViewMode(QtWidgets.QListView.ListMode)
            self.listWidget.setWordWrap(True)
            from collections import OrderedDict # 设置自动换行
            # 定义有序字典,作为List列表的数据源
            dict = OrderedDict({'蒸羊羔': '998元/份',
                                '蒸熊掌': '998元/份',
                                '蒸鹿尾儿': '998元/份',
                                '烧花鸭': '288/份',
                                '烧雏鸡': '288/份',
                                '烧子鹅': '288元/份',
                                '卤猪': '688元/份',
                                '卤鸭': '188元/份',
                                '酱鸡腊肉': '188元/份'})
    
            for key, value in dict.items():  # 遍历字典,并分别获取到键值
                self.item = QtWidgets.QListWidgetItem(self.listWidget)  # 创建列表项
                self.item.setText(key+': '+value)  # 设置项文本
                self.item.setToolTip(value)  #  设置提示文字
            self.listWidget.itemClicked.connect(self.gettext)
    
        def gettext(self,item):    # 自定义槽函数,获取列表选中项的值
            if item.isSelected():  # 判断项是否选中
                from PyQt5.QtWidgets import QMessageBox
                QMessageBox.information(MainWindow,"提示","您选择的是:"+item.text(),QMessageBox.Ok)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "点菜系统"))
    
    import sys
    # 主方法,程序从此处启动PyQt设计的窗体
    if __name__ == '__main__':
       app = QtWidgets.QApplication(sys.argv)
       MainWindow = QtWidgets.QMainWindow() # 创建窗体对象
       ui = Ui_MainWindow() # 创建PyQt设计的窗体对象
       ui.setupUi(MainWindow) # 调用PyQt窗体的方法对窗体对象进行初始化设置
       MainWindow.show() # 显示窗体
       sys.exit(app.exec_()) # 程序关闭时退出进程
    

    相关文章

      网友评论

        本文标题:Python 开发:制作一个简易的点菜系统(附源码)

        本文链接:https://www.haomeiwen.com/subject/hpnbnktx.html