tkinter学习(3)scale尺度条和menu菜单
1.scale学习(尺度条)
1.1 代码:
#第1步:导出模块
import tkinter as tk
#第2步:定义窗口,及其标题、大小和位置
win = tk.Tk()
win.title('scale study window') #定义标题,如果未设置,就是默认tk的标题
win.geometry('600x400+500+0') #+500+0,是布局位置,500为x=由左侧水平移动500,0为y=顶点位置,往下移动0
#--------------上述格式基本固定-------------
#定义label
l=tk.Label(win,bg='pink',width=20,text='empty') #初始值是empty
l.pack()
#定义函数
def print_selection(v): #v=value=数值,scale中有一个默认的传入值
l.config(text='You have selected:'+v) #label='try me',注意不是text='try me',0.01是保留小数点后2位
#注意from后面有下划线,length=200代表200个像素,与width不一样
#to=11,可以显示11,但是to=10没能显示出10,因为tickinterval=3,每个3个刻度显示一下,改为2就可以了
#showvalue=0(False),showvalue=1(True),显示scale条上和鼠标上的数字
s=tk.Scale(win,label='try me',from_=5,to=11,orient=tk.HORIZONTAL,
length=200,showvalue=1,tickinterval=2,resolution=0.01,
command=print_selection)
s.pack() #循环挂起
win.mainloop()
1.2 图1

2.Menubar菜单的学习
2.1 代码:
import tkinter as tk win = tk.Tk() #win=window
win.title('my window')
win.geometry('800x500+500+0') l = tk.Label(win, text='', bg='yellow',width=20,height=2) #不定义width,那默认就是一个字符串大小的宽度
l.pack() counter = 0
def do_job():
global counter
l.config(text='do '+ str(counter)) #config就是改变l=label的一个参数
counter+=1 #说实话菜单设计有点麻烦,还是PySimpleGUI的简单
menubar = tk.Menu(win)
#tearoff=0,是默认值,如果不设置,就是不显示水平虚线,为1就是True,就是显示水平虚线
#filemenu和editmenu是水平并列的两个菜单按钮
filemenu = tk.Menu(menubar, tearoff=0) #第1,定义flie菜单
menubar.add_cascade(label='File', menu=filemenu)
#file菜单的子菜单
filemenu.add_command(label='New', command=do_job)
filemenu.add_command(label='Open', command=do_job)
filemenu.add_command(label='Save', command=do_job)
filemenu.add_separator() #按钮的水平分割线
filemenu.add_command(label='Exit', command=win.quit) #定义一个三级下拉菜单
submenu = tk.Menu(filemenu) #挂在filemenu下的
#underline=0不显示下划线,为1显示下划线,不设置就是默认为0,注意是第2个字母下才有下划线
filemenu.add_cascade(label='Import', menu=submenu, underline=1)
#import的一个子菜单
submenu.add_command(label="Submenu1", command=do_job) #------定义第2个主菜单edit----
editmenu = tk.Menu(menubar, tearoff=0) #第2,定义edit菜单
menubar.add_cascade(label='Edit', menu=editmenu)
#edit菜单的子菜单
editmenu.add_command(label='Cut', command=do_job)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job) win.config(menu=menubar) #config就是改变win的一个参数,将menu放在win上去 win.mainloop()
2.2 图2

tkinter学习(3)scale尺度条和menu菜单的更多相关文章
- Python Tkinter学习笔记
介绍 入门实例 显示一个窗口,窗口里面有一个标签,显示文字 import tkinter as tk # 一个顶层窗口的实例(Top Level),也称为根窗口 app = tk.Tk() # 设置窗 ...
- python之tkinter学习目录
前言 下面的目录结构,采用的学习视频资料是网易云课堂中[莫凡]老师的,在目录的最下面的地方给出了对应的链接! 学习是逐渐积累起来的,代码也是!下面的每一篇中的对应代码,都秉承着这样的一个理念:代码是成 ...
- Tkinter 之Menu菜单标签
一.参数说明 语法 作用 MenuBar = tk.Menu(window) 创建一个菜单栏 fileBar = tk.Menu(MenuBar, tearoff=0) 创建一个菜单项,不分窗. Me ...
- Bootstrap 我的学习记录3 导航条理解
以下理论内容copy自Bootstrap中文网 (一个不错的bootstrap学习网站) 导航条 默认样式的导航条 导航条是在您的应用或网站中作为导航页头的响应式基础组件.它们在移动设备上可以折叠(并 ...
- Tkinter教程之Scale篇
本文转载自:http://blog.csdn.net/jcodeer/article/details/1811313 '''Tkinter教程之Scale篇'''#Scale为输出限定范围的数字区间, ...
- tkinter中menu菜单控件(十二)
menu菜单控件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("300x200 ...
- Python Tkinter 学习成果:点歌软件music
笔者工作业余时间也没什么爱好,社交圈子也小,主要娱乐就是背着自己带电瓶的卖唱音响到住地附近找个人多的位置唱唱KtV. 硬件上点歌就用笔记本电脑,歌曲都是网上下载的mkv格式的含有两个音轨的视频.因此点 ...
- tkinter学习-Lable&Button
tkinter学习-La&Bu 我的第一个Tkinter程序 Label组件的使用 Button组件的使用 1.我的第一个Tkinter程序 常用的属性: title:设置窗口的标题 geom ...
- 第15.15节 PyQt(Python+Qt)入门学习:Designer的menu菜单、toolBar工具栏和Action动作详解
老猿Python博文目录 老猿Python博客地址 一.引言 Qt Designer中的部件栏并没有菜单.toolBar以及Action相关的部件,仅在MainWindow类型窗口提供了menu.to ...
随机推荐
- [termux Linux] termux不用ssh远程控制shell
前言 今天想在手机上测试python代码(termux),但是手机操作确实太麻烦了,所以就想试试用ssh来用电脑操作,但是网上说似乎不能用ip链接ssh 但是配置密钥文件有很麻烦.所以,我想了一个歪招 ...
- 深浅拷贝_python
一.浅拷贝 拷贝第一层的东西,如其他列表修改他们共同的第二层(或更深),他管不了,只能跟着变. 用处:很少用,用不同账号关联共享: import copyhusband= ['chen','123', ...
- Linux - shell - xargs - 基础
概述 简述 xargs 的使用 背景 尝试批量操作文件 发现一些问题小问题 然后, 尝试解决 准备 环境 OS centos7 1. 操作: 尝试创建多个 文本文件 概述 尝试创建多个文本文件 1. ...
- python调用c/c++ (入参出参为指针)
python可以使用ctypes库调用c++编译的so库函数 0x01 c/c++编译为so库文件 编译C文件 gcc -o libpycallfoo.so -shared -fPIC rsa.c ...
- 理解javaBean
1:什么是JavaBean 组件?使用JavaBean 组件有什么优点?答案:现在软件开发都已经转向了基于组件的开发,目前具备代表性的组件技术有微软的COM.COM+,有Sun 的JavaBean 和 ...
- Lenet 神经网络-实现篇(2)
Lenet 神经网络在 Mnist 数据集上的实现,主要分为三个部分:前向传播过程(mnist_lenet5_forward.py).反向传播过程(mnist_lenet5_backword.py). ...
- [NLP]Transformer模型解析
简介[2] Attention Is All You Need是2017年google提出来的一篇论文,论文里提出了一个新的模型,叫Transformer,这个结构广泛应用于NLP各大领域,是目前比较 ...
- Educational Codeforces Round 78 (Rated for Div. 2)E(构造,DFS)
DFS,把和当前结点相连的点全都括在当前结点左右区间里,它们的左端点依次++,然后对这些结点进行DFS,优先对左端点更大的进行DFS,这样它右端点会先括起来,和它同层的结点(后DFS的那些)的区间会把 ...
- phpinfo(): It is not safe to rely on the system's timezone settings
PHP调试的时候出现了警告: 问题: Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You ...
- Java_Habse_shell
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.had ...