前言

新年好啊 朋友们

现在年初八都开始上班了 一部分学生也开始上课咯 当然现在还在家躺着的 真羡慕啊

每次不在家吃饭 一出来就要考虑该吃啥 啥都想吃 但是兜里条件有限

所以就只能极限选择咯 为了不再纠结 咱就是直接做个 随机食物挑选器

效果

有人就说 这网上一抓一大把 没必要自己做个
emm网上的一些固定的 也不见得是咱自己喜欢吃的 还不如自己拟个表单 导入进去就能开始随机选择了

话不多说 咱就直接看看效果吧

吃啥吃啥 吃椰子鸡哈哈哈哈

代码

模块准备

需要源码的看 效果图左上方数字 ,或者点击文章末尾名片~

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *from qdarkstyle import load_stylesheet_pyqt5import os
import sys
import time
import random

这个领取源码后 也有个数据单哦

朋友们自己可以改的 不然就没有数据出来

def __init__(self, parent=None):super(WorkThread, self).__init__(parent)self.parent = parentself.working = Truedef __del__(self):self.working = Falseself.wait()def run(self):data_list = self.parent.data_listif len(data_list) >= 1:ran = random.randint(20, 40)print('遍历次数:', ran)for a in range(ran):name = random.choice(data_list)self.trigger.emit(name)print(name)time.sleep(0.6)self.finished.emit(True)else:self.trigger.emit('无数据')

子线程调用

def init_ui(self):self.thread_ = WorkThread(self)self.thread_.trigger.connect(self.set_name)self.thread_.finished.connect(self.finished)

应用初始化信息

self.setWindowTitle('源码自取君羊309488165 ')
self.setWindowIcon(QIcon('随机食物.ico'))
self.setFixedSize(500, 350)

喜爱食物布局

vbox_name = QVBoxLayout()
self.current_name = QLabel()
self.current_name.setText('随机挑选')
self.current_name.setStyleSheet('font-size:50px;text-align:center;font-weight:bold;font-family:"Microsoft JhengHei";')vbox_name.addWidget(self.current_name)
vbox_name.setAlignment(Qt.AlignCenter)

开始信息布局

vbox_start = QVBoxLayout()
self.start_btn = QPushButton()
self.start_btn.setText('开始挑选')
self.start_btn.setFixedSize(250, 50)
self.start_btn.setStyleSheet('font-size:30px;font-weight:bold;text-align:center;font-family:"Microsoft JhengHei";')
self.start_btn.clicked.connect(self.start_btn_click)vbox_start.addWidget(self.start_btn)
vbox_start.setAlignment(Qt.AlignCenter)
vbox_start.addSpacing(80)

数据信息布局

vbox_data = QHBoxLayout()
self.message = QLabel()
self.message.setText('源码自取君羊309488165')
self.message.setStyleSheet('font-size:12px;')self.import_btn = QPushButton()
self.import_btn.setText('导入数据')
self.import_btn.setFixedSize(90, 25)
self.import_btn.clicked.connect(self.import_btn_click)vbox_data.addWidget(self.message)
vbox_data.addStretch(1)
vbox_data.addWidget(self.import_btn)

整体布局

完整 源码 点击 此处 领取 即可

    vbox = QVBoxLayout()vbox.addLayout(vbox_name)vbox.addLayout(vbox_start)vbox.addLayout(vbox_data)self.setLayout(vbox)def start_btn_click(self):if self.start_btn.text().strip() == '开始挑选':self.thread_.start()else:self.start_btn.setText('开始挑选')def set_name(self, name):self.current_name.setText(name)def finished(self, finished):if finished is True:self.start_btn.setText('今天就吃这个了')def import_btn_click(self):file = QFileDialog.getOpenFileName(self, '选择文件', os.getcwd(), 'Text File(*.txt)')file_path = file[0]print(file_path)fl = open(str(file_path), 'r', encoding='utf-8')self.data_list = fl.read().strip().split('\n')print(self.data_list)self.message.setText('信息提示 | 成功导入[' + str(len(self.data_list)) + ']条食物信息')

最后

今天的这个食物生成器分享到这里就结束啦,其实这个用处很大的,自己也可以改成其他的,就看你们自己想改成什么啦

视频教程

小圆在这里还给大家推荐个零基础朋友学习的案例教程 有兴趣的可以看看哦 需要源码也可以点击下方名片领取 ~

【Python案例教学】最适合零基础学习的实用案例,手把手带练,让你成为下一个Python大神

Python自制随机食物生成器(食物可自拟)相关推荐

  1. 使用 Python 构建随机图像生成器 Flutter 应用程序 Flet

    本教程假设您对Flet python 框架有一些基本的了解,该框架将在本文中使用. 安装 为确保拥有最新可用的 Flet 版本(撰写本文时为 0.3.2),请在终端中运行以下命令: pip insta ...

  2. python加减法器课程报告_python实现随机加减法生成器

    本文实例为大家分享了python实现随机加减法生成器的具体代码,供大家参考,具体内容如下 为了让外甥女练习算术,用python给她写了个自动出加减法的小程序. 该程序使用了文字转语音的库pyttsx, ...

  3. python加法_python实现随机加减法生成器

    本文实例为大家分享了python实现随机加减法生成器的具体代码,供大家参考,具体内容如下 为了让外甥女练习算术,用python给她写了个自动出加减法的小程序. 该程序使用了文字转语音的库pyttsx, ...

  4. 今天吃什么?我直接用Python制作随机食物生成器

    前言 咳咳,今天中午吃什么啊,今天晚上吃啥,emm夜宵吃啥 不知道你们每天有没有问过这些问些问题,我基本上天天问,问完后想吃这个又想吃那个,纠结的要命,还不如搞个随机食物生成器 有些朋友就说了,这种东 ...

  5. python随机数列_Python2随机数列生成器简单实例

    本文实例讲述了Python2随机数列生成器.分享给大家供大家参考,具体如下: #filename:randNumber.py import random while True: try: row=in ...

  6. python验证码生成器_用Python实现随机验证码

    0.说明 在网络上各种平台上登陆时,都会看到各种各样的验证码,大部分都是字母+数字的随机验证码,下面来主要是通过Python生成一个可以包含大小写字母和数字的随机验证码. 1.思路 在Python中, ...

  7. 贪吃蛇游戏 c++代码 ↑,↓,→,←分别控制蛇的方向 增加蛇长 随机生成食物 吃食物 吃撞墙 撞到自己

    贪吃蛇游戏 c++代码 ↑,↓,→,←分别控制蛇的方向 增加蛇长 随机生成食物 吃食物 吃撞墙 撞到自己 Snake.h文件 #pragma once #include <stdio.h> ...

  8. 用python做一个随机题目生成器

    你好! 要用 Python 做一个随机题目生成器,你可以使用 Python 的 random 模块来生成随机数. 下面是一个简单的例子,它会生成一道加法题: import random# 生成两个随机 ...

  9. python的英文单词表_随机单词生成器 - Python

    所以我基本上是在一个项目中,计算机从单词列表中抽出一个单词,并为用户乱七八糟.只有一个问题:我不想不断地在列表中写很多单词,所以我想知道是否有一种方法可以导入大量的随机单词,所以即使我不知道它是什么, ...

最新文章

  1. 精选10大机器学习开源项目 !(附链接)
  2. placement new--《C++必知必会》 条款35
  3. JavaWeb-SpringBoot(抖音)_二、服务器间通讯
  4. ABAP Development Tool前后台交互的原理
  5. STL学习笔记-set的基本原理以及插入、遍历
  6. 第一:Python安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
  7. c均值聚类matlab程序_聚类算法之kmeans算法
  8. 每个电脑都会自己的SID号和GUID号,而且不会相同。。
  9. Bulma - 基于 Flexbox 的现代化的 CSS 框架
  10. Atitit.数据库表的物理存储结构原理与架构设计与实践
  11. .md文件好用编辑软件分享Typora
  12. SpringBoot 快速入门
  13. mac连接wifi无ip/无法访问网络
  14. mysql查询结果某个字段设置为固定值_MySQL使用select查询时,在查询结果中增加一个字段并指定固定值...
  15. 用计算机计算下面各题,四下计算机练习题汇总
  16. 光猫和路由器(联通)
  17. 7位世界著名的制图师及其相关的地图介绍
  18. Ubuntu深度学习环境配置
  19. 0203高阶导数-导数与微分-高等数学
  20. PS等难卸载软件的通用强制卸载方法、安装程序检测到计算机重新启动...问题、安装失败问题...

热门文章

  1. 上网行为管理(网络管理)用软件好还是硬件好?
  2. 仿京东开放平台框架,开发自己的开放平台(包含需求,服务端代码,SDK代码)
  3. 漂白android软件,图片文件漂白软件
  4. Ganglia_简述
  5. Mean shift目标跟踪算法
  6. nrf2401数据传输原理
  7. 华为交换机命令配置大全,看完赶快收藏
  8. 用python画卡通图_Python 生成卡通图片
  9. Springboot集成Jersey
  10. C语言中的二进制数,八进制数,十进制数,十六进制数