博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tkinter学习笔记(一)
阅读量:4211 次
发布时间:2019-05-26

本文共 3675 字,大约阅读时间需要 12 分钟。

学习python的意义在于python提供很多数据分析的包,所以如果不是为了搬砖,那么python就是最好的选择。但是学了那么多总归要给别人展示吧。所以图形界面开发是一个必要的技能。这里不讨论其他的选项,就是为了学python。

Tkinter是python自带的一款GUI组件,所以相对于其他的各种组件的安装成本来说,学习Tkinter都将会少很多障碍,当然如果python都比维护自己的Tkinter那么我觉得python就不是python了,所以说Tkinter比较具有长远意义。当然学其他的也很好,可以扩展眼界。

和java的awt一样,我们发现tkinter和awt差别不大,主要是使用的姿势要变一下。以下是tkinter提供的组件,基本和java的awt没啥差别。

1.Label组件学习

import tkinter as tk# 拿到总窗口window=tk.Tk()#创建一个字符串wordTest=tk.StringVar()wordTest.set('测试label')# 设置标题window.title('Tkiner study')# window.geometry('500x300')# 设置窗口大小,长和window.geometry('1200x500')# 设置lable的名称,背景颜色,字体,宽长,lableOne=tk.Label(window,textvariable=wordTest,bg='red',font=('Arial',12),width=10,height=2)# 放置lablelableOne.pack()# 显示窗口window.mainloop()

2.Button组件学习

import tkinter as tk# 拿到总窗口window=tk.Tk()#定义一个字符串wordTest=tk.StringVar()#用于设置按钮的切换,走不同的逻辑hind=Truedef testButton():    print("点击了")    global hind    if hind==False:        print("1")        hind=True        wordTest.set('tij')    else:        print("2")        wordTest.set('please click me')        hind=False# 设置标题window.title('tkinter study')# window.geometry('500x300')# 设置窗口大小window.geometry('888x500')# 设置lable的名称,背景颜色,字体,宽长,lableOne=tk.Label(window,textvariable=wordTest,bg='red',font=('Arial',12),width=10,height=2)# 创建一个按钮,并设置一个动作函数buttonOne=tk.Button(window,text='button',command=testButton)# 放置lablelableOne.pack()# 放置按钮buttonOne.pack()# 显示窗口window.mainloop()

3.Entry组件学习

entry是单行文本框,常用于账户或密码等长度不大的输入。

import tkinter as tkwindow=tk.Tk()# 设置窗口大小window.geometry('300x200')# 获取一个输入框,展示的时候显示&entry1=tk.Entry(window,show='&',font=('Arial', 14))# 获取一个输入框,展示的时候采用明文entry2=tk.Entry(window,show=None,font=('Arial', 14))entry1.pack()entry2.pack()window.mainloop()

4.Text多行文本框学习

import tkinter as tkdef insert_action():#获取输入框中的内容    var=insert.get()    print(var)    text.insert('insert',var)def insert_end_action():    var=insert.get()    print(var)    text.insert('end',var)window=tk.Tk()window.geometry('500x300')#输入一个输入框insert=tk.Entry(window,show=None)insert.pack()#定义一个多行文本框text=tk.Text(window,height=5)text.pack()#向文本框的光标所在位置插入button=tk.Button(window,text='insert',command=insert_action)#设置向文本框尾部插入buttonEnd=tk.Button(window,text='end',command=insert_end_action)button.pack()buttonEnd.pack()window.mainloop()

5.ListBox选择框学习

import tkinter as tkwindow=tk.Tk()window.geometry('500x500')window.title('test list box')showText=tk.StringVar()labelName=tk.Label(window,bg='red',width=30,textvariable=showText)labelName.pack()#单选双击事件def listenerOne(event):    var=listBoxOne.get(listBoxOne.curselection())    print(var)    showText.set(var)    #多选情况的处理函数def multiSelect():    value=''    for item in listBoxTwo.curselection():        var=listBoxTwo.get(item)        value+=var    showText.set(value)#单选模式listBoxOne=tk.Listbox(window)#多选模式listBoxTwo=tk.Listbox(window,selectmode=tk.EXTENDED)#绑定双击事件listBoxOne.bind('
',listenerOne)lanaguage=['java','python','c','c++','js']for item in lanaguage: listBoxOne.insert('end',item)    listBoxTwo.insert('end',item)listBoxOne.pack()listBoxTwo.pack()#多选情况下的按钮buttonOne=tk.Button(window,text='extended button',command=multiSelect)buttonOne.pack()window.mainloop()

6.Radiobutton单选按钮学习

import tkinter as tkwindow=tk.Tk()window.geometry('500x300')showText=tk.StringVar()var=tk.StringVar()labelOne=tk.Label(window,textvariable=showText,bg='red',width=50)labelOne.pack()def show():    showText.set(var.get())#定义几个单选框radio1=tk.Radiobutton(window,text='java',variable=var,value='1',command=show)radio2=tk.Radiobutton(window,text='python',variable=var,value='2',command=show)radio3=tk.Radiobutton(window,text='c',variable=var,value='3',command=show)radio1.pack()radio2.pack()radio3.pack()window.mainloop()

转载地址:http://lhkmi.baihongyu.com/

你可能感兴趣的文章
LoadRunner如何在脚本运行时修改log设置选项?
查看>>
QC数据库表结构
查看>>
自动化测试工具的3个关键部分
查看>>
测试工具厂商的编程语言什么时候“退休”?
查看>>
资源监控工具 - Hyperic HQ
查看>>
LoadRunner中Concurrent与Simultaneous的区别
查看>>
SiteScope - Agentless监控
查看>>
使用QTP的.NET插件扩展技术测试ComponentOne的ToolBar控件
查看>>
用上帝之眼进行自动化测试
查看>>
为LoadRunner写一个lr_save_float函数
查看>>
PrefTest工作室全新力作-《性能测试与调优实战》课程视频即将上线
查看>>
质量度量分析与测试技术 培训大纲
查看>>
欢迎加入【亿能测试快讯】邮件列表!
查看>>
为什么我们的自动化测试“要”这么难
查看>>
LoadRunner性能脚本开发实战训练
查看>>
测试之途,前途?钱途?图何?
查看>>
adb常用命令
查看>>
通过LR监控Linux服务器性能
查看>>
通过FTP服务的winsockes录制脚本
查看>>
LRwinsocket协议测试AAA服务器
查看>>