Tkinter示例

Tkinter示例

效果如下:


代码如下(兼容python2.7.9和python3.6:主要处理了不同version中的module name的差异,采用的方式是import ...as.. 语句,通过as的重命名实现。):

(涉及到python Tkinter中很多概念,对类似的widget故意采用了不同的配置,可以运行观察下效果。可作入门用)

############################################################
# A simple example to show some concepts of tkinter
############################################################

import sys


def buttoncmd(btn):
    a=btn["text"]
    tkmeasbox.showinfo("Button Pressed",a)
    label["text"]="show "+a


def buttoncmdok():
    a=cb.get()
    print(a)


if __name__ == '__main__':


    myversion = sys.version
    myversionCheck = myversion[0]
    if (myversionCheck=='3'):

        import tkinter as tk
        from tkinter import ttk as ttk
        from tkinter import messagebox as tkmeasbox
        from tkinter import filedialog as filedialog
        
    else:

        import Tkinter as tk
        import ttk as ttk
        import tkMessageBox as tkmeasbox
        import tkFileDialog  as filedialog
        

    
    top = tk.Tk()
    top.geometry('300x100+300+300')
    top.title("Tkinter Test")

    #frames widget
    Frame0 = tk.Frame(top)
    Frame1 = tk.Frame(top)
    Frame2 = tk.Frame(top)
    #frames position
    Frame0.grid(sticky="WNES",column=0,row=0)
    Frame1.grid(sticky="WNES",column=0,row=1)
    Frame2.grid(sticky="WNES",column=0,row=2)
    #configure frame size 
    top.rowconfigure(0, weight=1)
    top.rowconfigure(1, weight=3)
    top.rowconfigure(2, weight=1)
    top.columnconfigure(0,weight=1)



    #combobox
    cb = ttk.Combobox(Frame0,values=["test0","test1","test2","test3"])
    cb.set("testnull")
    #label
    label=tk.Label(Frame0,text="show some info here!")
    cb.grid(sticky="WNES",column=0,row=0,in_=Frame0)
    label.grid(sticky="WNS",column=1,row=0,in_=Frame0)
    Frame0.columnconfigure(0,weight=4)
    Frame0.columnconfigure(1,weight=1)
    Frame0.rowconfigure(0, weight=1)


    #button1~3
    button1 =tk.Button(Frame1,text="Machine1",command=lambda:buttoncmd(button1))
    button2 =tk.Button(Frame1,text="Machine2",command=lambda:buttoncmd(button2))
    button3 =tk.Button(Frame1,text="Machine3",command=lambda:buttoncmd(button3))
    button1.grid(sticky="WNES",column=0,row=0,in_=Frame1)
    button2.grid(sticky="NS",column=1,row=0,in_=Frame1)
    button3.grid(sticky="ENS",column=2,row=0,in_=Frame1)

    Frame1.columnconfigure(0,weight=1)
    Frame1.columnconfigure(1,weight=1)
    Frame1.columnconfigure(2,weight=1)
    Frame1.rowconfigure(0, weight=1)



    button4 =tk.Button(Frame2,text="OPEN",command=lambda:filedialog.askopenfilename(title='OPEN', filetypes=[('Python', '*.py *.pyw'), ('All Files', '*')]))
    button5 =tk.Button(Frame2,text="SAVE",command=lambda:filedialog.asksaveasfilename(title='SAVE', initialdir='d:', initialfile='hello.py'))
    button6 =tk.Button(Frame2,text="OK",command=buttoncmdok)
    button7 =tk.Button(Frame2,text="EXIT",command=top.destroy)
    button4.grid(sticky="NS",in_=Frame2,column=0,row=0)
    button5.grid(sticky="NS",in_=Frame2,column=1,row=0)
    button6.grid(sticky="NS",in_=Frame2,column=2,row=0)
    button7.grid(sticky="NS",in_=Frame2,column=3,row=0)
    Frame2.columnconfigure(0,weight=1)
    Frame2.columnconfigure(1,weight=1)
    Frame2.rowconfigure(0, weight=1)


    top.mainloop()

 

相关:

http://blog.csdn.net/ygyoe/article/details/44360677

https://download.csdn.net/download/ygyoe/10295937

https://download.csdn.net/download/ygyoe/10295931

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值