文章目录

  • 前言
  • 组件
    • label 与 多行文本
    • 复选框组件
    • Radiobutton单选组件
    • Frame框架组件
    • labelframe标签框架
    • 列表框Listbox
    • scrollbar滚动条组件
    • scale刻度条组件
    • spinbox组件
    • Toplevel子窗体组件
    • PanedWindow组件
  • Menu
    • 下拉菜单
    • 弹出菜单
  • 总结
    • 针对组件

前言

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写软件弹窗相关推荐

  1. 软件实操:Python + MapleSim Modelica + Insight 实现实时仿真

    软件实操:Python + MapleSim Modelica + Insight 实现实时仿真 结果视频 模型文件下载 操作步骤 更多信息 内容简介: 此例使用Python脚本运行车辆动力学FMU模 ...

  2. 【Python 实操】labelImg标注的xml格式转换为yolo的txt文件

    [Python 实操]labelImg标注的xml格式转换为yolo的txt文件 背景 YOLO家族开枝散叶(尤其是YOLOv5)的广泛应用就涉及到图像的标注与文件格式转换,常用的标注工具有 Labe ...

  3. PSM倾向得分匹配法【python实操篇】

    前言 大家好,我是顾先生,PSM倾向性得分匹配法的Python代码实操终于来啦! ​ 对于PSM原理不太熟悉的同学可以看看前一篇文章:PSM倾向得分匹配法[上篇:理论篇] 目前网上PSM实操的相关文章 ...

  4. 小马同学 学习python实操的第一天

    学习python实操的第一天 第一个实操案例 任务1:向文件输出"一段属于你自己的话" ##方法一 fp= open('d:/test.txt','w') ##open('文件存储 ...

  5. Python—实操小实验之人机PK游戏(终极版本—应用类与对象的知识点应用)

    Python-实操小实验之人机PK游戏(终极版本-应用类与对象的知识点应用) 人机PK游戏所需要的基础元素如下: ①要有玩家.敌人.生命值.攻击力,还要有计分: ②要可以互相进行攻击,攻击之后生命值要 ...

  6. 抖音短视频实操:如何写出爆款标题(下)爆款标题的五种形式

    抖音短视频实操:如何写出爆款标题(下)爆款标题的五种形式 今天我们继续来聊聊抖音的标题.上一篇关于抖音标题的分类,简单回顾一下,故事类的标题,共鸣类的标题和话题性的标题,这篇就给大家说下爆款标题的五种 ...

  7. Python实操模拟题

    实操题 1.Redis数据库操作 阅读下列说明及运行结果, 打开"考生文件夹\10002"文件夹中的素材,阅读代码,在空(1)至(10)处填写正确代码,操作完成后保存素材. 该题是 ...

  8. python实操题_Python100道练习题,光看不练假把式,Python实操资源

    Python数学计算,编程练习题实例一 Python数轴.长整型,编程练习题实例二 Python完全平方数,编程练习题实例三 Python日期计算,编程练习题实例四 Python整数顺序排列,编程练习 ...

  9. python实操训练300题_如何练习python?有这五个游戏,实操经验就已经够了

    原标题:如何练习python?有这五个游戏,实操经验就已经够了 现在学习python的人越来越多了,但仅仅只是学习理论怎么够呢,如何练习python?已经是python初学者比较要学会的技巧了! 其实 ...

最新文章

  1. Angular应用开发中遇到的问题
  2. Mac下chrome的webapp hostadmin 快速切换host
  3. 今年下半年,中日合拍的《Git游记》即将正式开机,我将...(上集)
  4. 腾讯游戏4名技术专家详解:《御龙在天移动版》服务器性能优化
  5. leetcode503. 下一个更大元素 II
  6. 【计算机系统设计】实践笔记(1)数据通路构建:取指部件分析
  7. JPA零碎要点---JTA全局事物理解
  8. 推荐一款好用的Web端JSON在线编辑器svelte-jsoneditor
  9. win10官方原版镜像系统
  10. javascript定时器的计时事件
  11. java助教_Java助教工作总结
  12. Gmail使用POP3设置的奥秘
  13. golang not enough arguments in call to uuid.Must
  14. Visual Studio 2022 中的键盘快捷方式
  15. Linux常用指令/知识点
  16. lio-sam框架:回环检测及位姿计算
  17. 今天,Java 12 正式发布了! 你在用哪个版本?
  18. php mail 垃圾邮件,如何避免我的邮件从PHP邮件()被标记为垃圾邮件? - 程序园
  19. 【密码学一】密码学概念、密码学初体验
  20. 欧拉计划17——数字字母计数

热门文章

  1. 吐槽memoQ | 设置字体大小
  2. 终于找到一款神器,竟然可以让SpringBoot 不再需要Controller、Service、DAO、Mapper!...
  3. 关于“Espressif IDF build 参数格式不正确”问题
  4. 餐饮小程序服务器配置,餐饮小程序应该怎么做?
  5. 仅用这篇文章来警醒自己
  6. c语言程序设计课程设计心得体会,C语言课程设计的心得体会
  7. python 3.8.2(32-bit)安装教程_Python 3.8.2详细图文安装教程(附安装包)
  8. vue快速学习01、环境与常用属性标签
  9. 豆瓣个人无中介租房搜房工具 V1.1
  10. 【幻灯片软件】Focusky教程 | FS软件能支持多大分辨率的图片?