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

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

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 开发:制作一个简易的点菜系统(附源码)相关推荐

  1. 20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放

    20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放 文章目录 202205 ...

  2. Python开发实战案例之网络爬虫(附源码)-张子良-专题视频课程

    Python开发实战案例之网络爬虫(附源码)-35人已学习 课程介绍         课程特色: 特色1:案例驱动-围绕两大完整的Python网络爬虫实战开发案例:IT电子书下载网络爬虫和股票交易数据 ...

  3. python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)——增删改查篇

    python:pyqt5+mysql=学生信息管理系统(图文并茂,超详细, 附源码)--增删改查篇 前言 一.主界面的样式 二.学生信息的增,删,改,查 1.增加学生信息 2.删除学生信息 3.更改学 ...

  4. 谁说程序员不懂浪漫——我的C语言结婚请柬(附源码)

    前言:但行好事,莫问前程--<增广贤文> 从上学起开始学C++,后面也做过H5,现在做Android.无论是学习用的,还是工作用的,上百个软件不止.但最另我骄傲的是,我用程序烂漫了一把. ...

  5. PHP开发的爱情盲盒交友系统网站源码

    简介: PHP开发的爱情盲盒交友系统网站源码 网盘下载地址: http://kekewangLuo.net/1ytQwVyoh8o0 图片:

  6. Vue 彩色头像|一个有趣的头像生成器 附源码

    前言 这是一款矢量风格的头像生成器,您可以搭配不同的素材组件,生成属于您自己的个性化头像. 介绍 您可能感兴趣的功能: 可视化组件配置栏 随机生成头像 重做/撤消 国际化 批量生成多个头像 在线体验 ...

  7. python抢购火车票源代码_Python动刷新抢12306火车票的代码(附源码)

    摘要:这篇Python开发技术栏目下的"Python动刷新抢12306火车票的代码(附源码)",介绍的技术点是"12306火车票.Python.12306.附源码.火车票 ...

  8. 手把手教你做一个数据图表生成器(附源码)...

    我的需求:手动配置X轴.Y轴.图表标题等参数自动通过Pyecharts模块生成可视化的html数据图表,并将浏览器图表展示到UI界面上. [阅读全文] 制作出图表后的效果展示如下: 另外,生成后的图表 ...

  9. 黯然微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码

    黯然微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码 一.功能描述 二.mine.wxml界面图片 三.mine.wxml代码 四.mine.wxss代码 五.mine.js代码 六. ...

  10. java转俯视图,如何使用纯CSS实现一个足球场的俯视图(附源码)

    本篇文章给大家带来的内容是关于如何使用纯CSS实现一个足球场的俯视图(附源码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 https://github.c ...

最新文章

  1. Python jquery标签云
  2. 初识Vue,写的一些小练习
  3. 算法_Longest Palindromic Substring(寻找最长回文字串)
  4. Shell脚本完成hadoop的集群安装
  5. 17 redis -key设计原则
  6. gRPC-go源码(2):ClientConn
  7. weblogic java vendor_配置jprofiler监控Weblogic-Zee
  8. linux 大量文件 ls卡死,Linux下文件过多导致 ls 命令出现 arguments too long 的问题
  9. android 视频录制 sdk,android视频录制实现方法
  10. java接收json数组转成字符串、对象转json、json字符串转list
  11. 生成QQ/MSN/旺旺/SKYPE等在线状态图标
  12. Ubuntu 20.04 更换阿里源
  13. SS导航菜单水平居中的多种方法
  14. 优化matlab运行速度的方案
  15. [Processing]在画布上写文本
  16. mysql inet aton ipv6_Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结
  17. apache的url重写
  18. ssti练习之[CSCCTF 2019 Qual]FlaskLight 1
  19. SL651-2014 水文监测 RTU 解决方案
  20. UBT27:ubuntu安装VMware16

热门文章

  1. python爬虫+pygal交互式可视化爬取大学QS排名
  2. 安卓java游戏_情怀满满!教你如何用安卓机玩JAVA老游戏
  3. easyui获取图片路径_在线计算图片热点植入位置的方法与流程
  4. 怎么是你?怎么老是你?
  5. C语言实现逆波兰法计算表达式
  6. windows10自带截图工具快捷键使用
  7. 什么是SELinux?
  8. Java Web学习笔记(二)密码一致性检测的实现
  9. np.argmax()
  10. [#0x002B] IR经典模型之布尔模型