【python实操】用python写软件弹窗


文章目录
前言
python学习之路任重而道远,要想学完说容易也容易,说难也难。
很多人说python最好学了,但扪心自问,你会用python做什么了?
刚开始在大学学习c语言,写一个飞行棋的小游戏,用dos界面来做,真是出力不讨好。
地图要自己一点一点画出来,就像这样:
================
| |
| |
|===============
从此讨厌编程,不想继续学下去。每次作业应付。
算法考试,数据结构考试随便背代码,只求通过。
最后呢?我学会变成了吗?只能对一些概念侃侃而谈,但真的会几行代码,能写出实用工具吗?
答案变得模糊。
所以我们要从现在开始,学好python,不要再糊弄下去!!!
组件
label 与 多行文本

# coding=gbk
from tkinter import *master = Tk()
master.geometry("900x600")
#==========label
show1=Label(master,text="kunkun")
photo = PhotoImage(name="wudi",file="xxzz.gif")
show2=Label(master,image=photo)
show1.pack(side="left")
show2.pack(side="left")
#======多行文本
tshow=Text(master,width=10,height=4)
tshow.pack(side="bottom")
复选框组件

#========checkbutton
var =StringVar()
cshow=Checkbutton(master,text="猫猫",variable=var,onvalue="RGB",offvalue="L",fg="blue")
cshow.pack(side="top")var2 =StringVar()
c2show=Checkbutton(master,text="狗狗",variable=var2,onvalue="RGB",offvalue="L",fg="blue")
cshow.pack(side="top")
c2show.pack(side="top")
Radiobutton单选组件

#====radio
v=IntVar()
rshow=Radiobutton(master,text="One",variable=v,value=1)
rshow.pack(anchor=W)
anchor=W-----------放在窗体西面
anchor
美: [ˈæŋkər] 英: [ˈæŋkə®] n. 锚;给以安全感的人(或物);精神支柱;顶梁柱
v. 抛锚;下锚;使固定;扣牢 网络 锚点;安佳;锚定
Frame框架组件

labelframe标签框架

lfshow=LabelFrame(master,text="Group",padx=5,pady=5)
lfshow.pack(pady=10,padx=10,expand="yes")
e1=Entry(lfshow,width=10)
e1.pack()
e2=Entry(lfshow,width=10)
e2.pack()
entry
美: [ˈentri] 英: ['entri]
n. 记录;词条;登录;录入
网络 进入;条目;入口
列表框Listbox

#=========listbox
lbshow=Listbox(master,bg="yellow",height=5,width=20)
lbshow.pack(side="top")
for item in ["one","two","three","four"]:lbshow.insert(END,item)
scrollbar滚动条组件

#======scrollbar
sshow=Scrollbar(master)
sshow.pack(side=RIGHT,fill=Y)
lbshow1=Listbox(master,fg="red",height=5,width=20)# 创建需要滚动条的列表框
lbshow1["yscrollcommand"]=sshow.set#把滚动条对象赋值给列表框属性
lbshow1.pack(side="right")# 设置滚动条在右边
for item in range(10):lbshow1.insert(END,item)# 循环为列表框插入七个值sshow.config(command=lbshow1.yview())# 滚动条与列表框绑定联动命令属性
scale刻度条组件

#====scale 刻度条组件
scshow=Scale(master,from_=0,to=100)# 长度为100的刻度条
scshow.pack(side="right")
spinbox组件

#=====spinbox
sbshow=Spinbox(master,from_=0,to=10)
sbshow.pack(side="left")
Spinbox
网络 旋钮控件;框;纺纱箱
spin
美: [spɪn]
英: [spɪn]
v. 旋转;纺纱;吐丝;纺线
n. 头晕;(快速)旋转;常用于英式英语;晕头转向
网络 自旋;旋转球;自转
Toplevel子窗体组件

#====toplevel 子窗体
tlshow=Toplevel(master)
tlshow.wm_attributes("-topmost",1)# 子窗体永远在界面最前面
tlshow.title("ok!")
t1show=Text(tlshow,width=10,height=4)
t2show=Text(tlshow,width=10,height=4)
t1show.pack()
t2show.pack()
PanedWindow组件

PanedWindow
网络 窗格视窗
pw=PanedWindow(orient=VERTICAL,bg="green")
pw.pack(fill=BOTH,expand=1)
for w in [Label,Button,Checkbutton,Radiobutton]:pw.add(w(pw,text='可上下移动'))
Menu
下拉菜单

# coding=gbk
from tkinter import *
master=Tk()
m1=Menu(master)# 菜单实例
master.config(menu=m1)
def callback():#定义菜单鼠标单击事件的 回调函数master.title("OK")
filemenu=Menu(m1)# 在m1上 添加子菜单
m1.add_cascade(label="File",menu=filemenu)# 在m1上设置子菜单名并关联子菜单1
filemenu.add_command(label="New",command=callback())
filemenu.add_command(label="Open...",command=callback())
filemenu.add_separator()# 增加分割线
filemenu.add_command(label="Exit",command=callback())
helpmenu=Menu(m1)
m1.add_cascade(label="Help",menu=helpmenu)
helpmenu.add_command(label="About...",command=callback())
mainloop()
弹出菜单

# coding=gbk
from tkinter import *
import tkinter.messagebox
master=Tk()
class Example(Frame):# 继承framedef __init__(self):super().__init__()self.initUI()# 初始化调用initUI函数def initUI(self):self.master.title("演示鼠标右键跳出菜单")self.menu=Menu(self.master,tearoff=0)# 在窗体上frame创建菜单对象self.menu.add_command(label="提示",command=self.showClick)self.menu.add_command(label="退出",command=self.onExit)self.master.bind("<Button-3>",self.showMenu)# 窗体鼠标右键函数,调用showMenu函数self.pack()def showMenu(self,e):self.menu.post(e.x_root,e.y_root)def showClick(self):tkinter.messagebox.showinfo("提示","点上了")def onExit(self):self.quit()master.geometry("250x150")
app=Example()
master.mainloop()
总结
针对组件
可以利用frame , labelframe 容器组件把相同方向的组件一起定位。
可以容器嵌套容器,让界面整洁
鼓励用相对位置来定位。

相关文章:
【python实操】用python写软件弹窗
文章目录前言组件label 与 多行文本复选框组件Radiobutton单选组件Frame框架组件labelframe标签框架列表框Listboxscrollbar滚动条组件scale刻度条组件spinbox组件Toplevel子窗体组件PanedWindow组件Menu下拉菜单弹出菜单总结针对组件前言 python学习之路任重而道远࿰…...
Ubuntu 常用操作
版本22.04 1、开启 root # 输入新密码 sudo passwd rootUbuntu以root账号登录桌面 默认情况是不允许用root帐号直接登录图形界面的。 Ubuntu 默认使用 GNOME,GNOME 使用 GDM 显示管理器。 为了允许以 root 身份登录到 GNOME,你需要对位于 /etc/…...
井字棋--课后程序(Python程序开发案例教程-黑马程序员编著-第7章-课后作业)
实例2:井字棋 井字棋是一种在3 * 3格子上进行的连珠游戏,又称井字游戏。井字棋的游戏有两名玩家,其中一个玩家画圈,另一个玩家画叉,轮流在3 * 3格子上画上自己的符号,最先在横向、纵向、或斜线方向连成一条…...
谷粒学院开发(三):统一日志、异常及前端准备工作
特定异常处理 ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler(Exception.class) // 指定出现什么异常会被处理ResponseBody // 为了能够返回数据public R error(Exception e) {e.printStackTrace();return R.error().message("执行了全局异常…...
华为OD机试题 - 招聘(JavaScript)| 机考必刷
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:招聘题目输入输出示例一输入输出说明示例二输入输出说明示例三输…...
关于SQL优化的几点说明
1. ORACLE DBA是如何进行SQL优化的 作为一个Oracle数据库管理员(DBA),SQL优化是他们的日常工作之一,主要目标是优化查询性能,减少查询时间,并提高数据库的整体性能。 以下是Oracle DBA如何进行SQL优化的一般流程: 监控…...
使用高精度秒表StopWatch测试DateTime.Now的精度
StopWatch使用的命名空间:using System.Diagnostics;StopWatch的使用方法:创建Stopwatch对象:stopwatch;stopwatch计时表开启:stopwatch.Start();stopwatch计时表关闭:stopwatch.Stop();计算stopwatch.Stop…...
【C++】vector的使用及其模拟实现
这里写目录标题一、vector的介绍及使用1. vector的介绍2. 构造函数3. 遍历方式4. 容量操作及空间增长问题5. 增删查改6. vector二维数组二、vector的模拟实现1. 构造函数2. 迭代器和基本接口3. reserve和resize4. push_back和pop_back5. insert和erase5. 迭代器失效问题5. 浅拷…...
[洛谷-P2585][ZJOI2006]三色二叉树(树形DP+状态机DP)
[洛谷-P2585][ZJOI2006]三色二叉树(树形DP状态机DP)一、题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示数据规模与约定二、分析1、递归建树2、树形DP 状态机DP(1)状态表示(2)状态转移三、…...
BI技巧丨计算组
PowerBI有三大工具,分别是DAX Studio,Tabular Editor和Bravo。 DAX Studio通常我们会用来进行性能分析和DAX调优使用,Bravo一般用来批量格式化DAX,而Tabular Editor主要的功能就是计算组。 计算组这个名词,相信很多小伙…...
PMP项目管理项目范围管理
目录1 项目范围管理概述2 规划范围管理3 收集需求4 定义范围5 创建 WBS6 确认范围7 控制范围1 项目范围管理概述 项目范围管理包括确保项目做且只做所需的全部工作,以成功完成项目的各 个过程。管理项目范围主要在于定义和控制哪些工作应在项目内,哪些工…...
Flink 定时加载数据源
一、简介 flink 自定义实时数据源使用流处理比较简单,比如 Kafka、MQ 等,如果使用 MySQL、redis 批处理也比较简单 如果需要定时加载数据作为 flink 数据源使用流处理,比如定时从 mysql 或者 redis 获取一批数据,传入 flink 做处…...
ChatGPT、人工智能、人类和一些酒桌闲聊
© 2023 Conmajia Initiated 10th March, 2023 昨天跟某化学家喝酒,期间提到了 ChatGPT。他的评价是:这鬼东西大量输出毫无意义、错漏百出甚至是虚假的信息,“in a confident accent”。例如某次 GPT 针对“描述某某记者”这一问题&#…...
WebRTC开源库内部调用abort函数引发程序发生闪退问题的排查
目录 1、初始问题描述 2、使用Process Explorer工具查看到处理音视频业务的rtcmpdll.dll模块没有加载起来 3、使用Dependency Walker工具查看到rtcmpdll.dll依赖的库有问题 4、更新库之后Debug程序启动时就发生异常,程序闪退 5、VS调试时看不到有效的函数调用堆…...
Golang并发编程
Golang并发编程 文章目录Golang并发编程1. 协程2. channel2.1 channel的创建2.2 使用waitGroup实现同步3. 并发编程3.1 并发编程之runtime包3.2 mutex互斥锁3.3 channel遍历3.3.1 for if遍历3.3.2 for range3.4 select switch3.5 Timer3.5.1 time.NewTimer()3.5.2 Stop、reset…...
windows+Anaconda环境下安装BERT成功安装方法及问题汇总
前言 在WindowsAnaconda环境下安装BERT,遇到各种问题,几经磨难,最终成功。接下来,先介绍成功的安装方法,再附上遇到的问题汇总 成功的安装方法 1、创建虚拟环境 注意:必须加上python3.7.12以创建环境&a…...
git - 简易指南
git - 简易指南 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。 检出仓库 执行如下命令以创建一个本地仓库的克隆版本: git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会是这个样…...
[论文笔记]Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
引言 我们知道Transformer很好用,但它设定的最长长度是512。像一篇文章超过512个token是很容易的,那么我们在处理这种长文本的情况下也想利用Transformer的强大表达能力需要怎么做呢? 本文就带来一种处理长文本的Transformer变种——Transf…...
华为OD机试题 - 找目标字符串(JavaScript)| 机考必刷
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:找目标字符串题目输入输出示例一输入输出说明Code解题思路版权说…...
C++面向对象编程之六:重载操作符(<<,>>,+,+=,==,!=,=)
重载操作符C允许我们重新定义操作符(例如:,-,*,/)等,使其对于我们自定义的类类型对象,也能像内置数据类型(例如:int,float,double&…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
