python制作程序菜单,Python 开发:制作一个简易的点菜系统(附源码)
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于海唤鱼杂记客栈 ,作者:海唤鱼杂记客栈
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制作程序菜单,Python 开发:制作一个简易的点菜系统(附源码)相关推荐
- 20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放
20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放 文章目录 202205 ...
- Python开发实战案例之网络爬虫(附源码)-张子良-专题视频课程
Python开发实战案例之网络爬虫(附源码)-35人已学习 课程介绍 课程特色: 特色1:案例驱动-围绕两大完整的Python网络爬虫实战开发案例:IT电子书下载网络爬虫和股票交易数据 ...
- python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)——增删改查篇
python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)--增删改查篇 前言 一.主界面的样式 二.学生信息的增,删,改,查 1.增加学生信息 2.删除学生信息 3.更改学 ...
- 谁说程序员不懂浪漫——我的C语言结婚请柬(附源码)
前言:但行好事,莫问前程--<增广贤文> 从上学起开始学C++,后面也做过H5,现在做Android.无论是学习用的,还是工作用的,上百个软件不止.但最另我骄傲的是,我用程序烂漫了一把. ...
- PHP开发的爱情盲盒交友系统网站源码
简介: PHP开发的爱情盲盒交友系统网站源码 网盘下载地址: http://kekewangLuo.net/1ytQwVyoh8o0 图片:
- Vue 彩色头像|一个有趣的头像生成器 附源码
前言 这是一款矢量风格的头像生成器,您可以搭配不同的素材组件,生成属于您自己的个性化头像. 介绍 您可能感兴趣的功能: 可视化组件配置栏 随机生成头像 重做/撤消 国际化 批量生成多个头像 在线体验 ...
- python抢购火车票源代码_Python动刷新抢12306火车票的代码(附源码)
摘要:这篇Python开发技术栏目下的"Python动刷新抢12306火车票的代码(附源码)",介绍的技术点是"12306火车票.Python.12306.附源码.火车票 ...
- 手把手教你做一个数据图表生成器(附源码)...
我的需求:手动配置X轴.Y轴.图表标题等参数自动通过Pyecharts模块生成可视化的html数据图表,并将浏览器图表展示到UI界面上. [阅读全文] 制作出图表后的效果展示如下: 另外,生成后的图表 ...
- 黯然微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码
黯然微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码 一.功能描述 二.mine.wxml界面图片 三.mine.wxml代码 四.mine.wxss代码 五.mine.js代码 六. ...
- java转俯视图,如何使用纯CSS实现一个足球场的俯视图(附源码)
本篇文章给大家带来的内容是关于如何使用纯CSS实现一个足球场的俯视图(附源码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 https://github.c ...
最新文章
- Python jquery标签云
- 初识Vue,写的一些小练习
- 算法_Longest Palindromic Substring(寻找最长回文字串)
- Shell脚本完成hadoop的集群安装
- 17 redis -key设计原则
- gRPC-go源码(2):ClientConn
- weblogic java vendor_配置jprofiler监控Weblogic-Zee
- linux 大量文件 ls卡死,Linux下文件过多导致 ls 命令出现 arguments too long 的问题
- android 视频录制 sdk,android视频录制实现方法
- java接收json数组转成字符串、对象转json、json字符串转list
- 生成QQ/MSN/旺旺/SKYPE等在线状态图标
- Ubuntu 20.04 更换阿里源
- SS导航菜单水平居中的多种方法
- 优化matlab运行速度的方案
- [Processing]在画布上写文本
- mysql inet aton ipv6_Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结
- apache的url重写
- ssti练习之[CSCCTF 2019 Qual]FlaskLight 1
- SL651-2014 水文监测 RTU 解决方案
- UBT27:ubuntu安装VMware16