python如何设计系统界面教程_(四)实践出真知——python界面设计tkinter简易教程...

因为工作需要,需要制作一个上位机小工具,接触了一下Tkinter,完成了一个小工具的制作,现在记录一下Tkinter的简单上手。

该工具可以实现以下功能。

Tkinter总共21个核心组件:

Toplevel、Label、Button、Canvas、Checkbutton、Entry、Frame、LabelFrame、Listbox、Menu、Menubutton、Message、OptionMenu、PaneWindow、Radiobutton、Scale、Scrollbar、Spinbox、Text、Bitmap、Image。

本文主要讲述以下几个组件:

Label、Button、Checkbutton、Entry、Menu。

下图具有以下功能:

在“前轮占空比“、”后轮占空比“等地方能够填入数字或者其他你想要的字符,点击发送能够实现你要将这些数据发往哪里。复选框的位置可以☑️做选择。硬件设备初始化和按键设置实现鼠标点击,会有相应的动作。

代码如下:

from tkinter import *

#这个是一些新特性,也可以不用

from tkinter.ttk import *

def back_perception():

s2 = e2.get()

print("后轮占空比 :",s2)

def front_perception():

s1 = e1.get()

print("前轮占空比 :",s1)

def cycle_time():

s3 = e3.get()

s4 = e4.get()

print("前轮周期 :",s3)

print("后轮周期 :",s4)

def set_all_config ():

print("硬件设备初始化")

def checkbuttons():

print("复选框")

FCA = Tk()

FCA.wm_title("调试上位机")

l1 = Label(FCA,text = "前轮占空比 :",background = "green")

l1.grid(row = 0,column = 0,sticky=W)

e1 = Entry(FCA)

e1.grid(row = 0,column = 1,sticky=E)

b1= Button(FCA,text = "发送",command = front_perception)

b1.grid(row = 0,column = 2,sticky=E)

l2 = Label(FCA,text = "后轮占空比 :")

l2.grid(row = 1,column = 0,sticky=W)

e2 = Entry(FCA)

e2.grid(row = 1,column = 1,sticky=E)

b2= Button(FCA,text = "发送",command = back_perception)

b2.grid(row = 1,column = 2,sticky=E)

#常见的鼠标左键单击如下:,其中的 1 换成 3 表示右键被单击,为 2 的时候表示鼠标中键

#表示 A 键被按下,其中的 A 可以换成其他的键位。

#表示按下的是 Ctrl 和 V 键,V 可以换成其他键位。

#表示按下的是 F1 键,对于 Fn 系列的,都可以随便换。

b5 = Button(FCA,text = "按键设置")

b5["width"] = 20

b5.bind("",cycle_time)

b5.grid(row = 1,column = 3,sticky=E)

l3 = Label(FCA,text = "前轮周期 :")

l3.grid(row = 2,column = 0,sticky=W)

e3 = Entry(FCA)

e3.grid(row = 2,column = 1,sticky=E)

l4 = Label(FCA,text = "后轮周期 :")

l4.grid(row = 2,column = 2,sticky=W)

e4 = Entry(FCA)

e4.grid(row = 2,column = 3,sticky=E)

b3= Button(FCA,text = "发送",command = cycle_time)

b3.grid(row = 2,column = 4,sticky=E)

b4= Button(FCA,text = "硬件设备初始化",command = set_all_config)

b4.grid(row = 0,column = 3,sticky=E)

c3 = Checkbutton(FCA,text = "复选框",command = checkbuttons)

c3.grid(row = 3,column = 0,sticky=E)

#此处可以实现在界面上直接文字输出

c = Label(FCA,text = "")

c.grid(row = 4,column = 0)

c["text"] = "直接写在封面上"

FCA.mainloop()

另外可以实现菜单栏的设置

代码如下:

from tkinter import *

from tkinter.ttk import *

root = Tk()

menubar = Menu(root)

fmenu = Menu(menubar)

for item in ["新建","打开","保存","另存为"]:

fmenu.add_command(label = item)

emenu = Menu(menubar)

for item in ["复制","粘贴","剪切"]:

emenu.add_command(label = item)

vmenu = Menu(menubar)

for item in ["默认视图","新式视图"]:

vmenu.add_command(label = item)

#添加分割线

vmenu.add_separator()

for item in ["分割线","分割线2"]:

vmenu.add_command(label = item)

#添加复选框

amenu = Menu(menubar)

for item in ["版权信息","其他说明"]:

amenu.add_checkbutton(label = item)

for item in ["复选2","复选"]:

amenu.add_radiobutton(label = item)

menubar.add_cascade(label = "文件",menu = fmenu)

menubar.add_cascade(label = "编辑",menu = emenu)

menubar.add_cascade(label = "视图",menu = vmenu)

menubar.add_cascade(label = "关于",menu = amenu)

root["menu"] = menubar

root.mainloop()

可以实现右键选择功能

代码如下:

from tkinter import *

#右键功能

def python():

global root

Label(root,text = "I love python").pack()

root =Tk()

menubar = Menu(root)

for item in ["新建","打开","保存","另存为"]:

menubar.add_command(label = item)

menubar.add_command(label = "python",command =python)

def pop(event):

menubar.post(event.x_root, event.y_root)

root.bind("",pop)

root.mainloop()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值