[原创] Python Tinker学习笔记(二)

常见泽1   2019-2-20 08:39 楼主
此内容由EEWORLD论坛网友常见泽1原创,如需转载或用于商业用途需征得作者同意并注明出处 复习一下先,这个是最基本的,每个程式都需要 Tkinter 程序只需做三件事: 最小的 [Tkinter] 程序(基于Python3,Python2略有区别) from tkinter import * # import the Tkinter module root = Tk() # create a root window root.mainloop() # create an event loop 四 输入框Entry 输入框Entry是经常见到的界面控件之一,例如输入登陆账户密码、比如串口助手输入要发送的数据等等情况都需要用到,所以我们来看看这个控件 语法 语法格式如下: w = Entry( master, option, ... ) option主要用到的一般有: bg, font, show等等 实例:
  1. from tkinter import * # import the Tkinter module
  2. root = Tk() # create a root window
  3. L1 = Label(root,text="请输入")
  4. L1.pack(side = LEFT)
  5. E1 = Entry(root,bd =5)
  6. E1.pack(side = RIGHT)
  7. root.mainloop()
运行效果: 微信图片_20190218170506.png 五、文本框Text 文本框Text也是非常常用的一个控件 比如在大家经常用到的串口助手里,Text经常被用来作为显示串口接收的数据, 当串口接收到数据时,text将接收到的数据显示到界面中,so让我们来学习吧!! Text 控件可以显示网页链接, 图片, HTML页面, 甚至 CSS 样式表. 应用方法: 1.设置python Tkinter Text控件文本的方法 text.insert(index,string) index = x.y的形式,x表示行,y表示列 向第一行插入数据,text.insert(1.0,'hello world') 2.清空python Tkinter Text控件文本的方法 #思路:从第一行清除到最后一行 text.delete(1.0,Tkinter.END) 实例:
  1. from tkinter import * # import the Tkinter module
  2. root = Tk() # create a root window
  3. text = Text(root, width=50, height=10) #30的意思是30个平均字符的宽度,height设置为两行
  4. text.pack()
  5. text.insert(INSERT, '0x55 ') #INSERT表示输入光标所在的位置,初始化后的输入光标默认在左上角
  6. text.insert(INSERT, '0x66 ')
  7. text.insert(INSERT, '0x77 ')
  8. text.insert(INSERT, '0x88 ')
  9. text.insert(INSERT, '0x99 ')
  10. text.insert(INSERT, '0xAA ')
  11. text.insert(INSERT, '0xBB ')
  12. text.insert(INSERT, '0xCC ')
  13. text.insert(INSERT, '0xDD ')
  14. text.insert(END, 'show is over')
  15. root.mainloop()
运行效果: 微信图片_20190218170712.png 六、布局控件 几个最主要的控件已经都基本学习了一下,主要想模仿做个简单的界面 下面就开始看一些页面控件布局了 tkinter 共有三种几何布局管理器,分别是:pack布局,grid布局,place布局 Pack布局前面几节都有用到,复杂的应用暂时没用 主要看下grid布局 grid布局又被称作网格布局,是最被推荐使用的布局。程序大多数都是矩形的界面,我们可以很容易把它划分为一个几行几列的网格,然后根据行号和列号,将组件放置于网格之中。使用grid 布局时,需要在里面指定两个参数,分别用row 表示行,column 表示列。需要注意的是 row 和 column 的序号都从0 开始。 微信图片_20190220083935.png 实例: 如果创建两个Label,直接用pack,两个Label如下图所示 但是如果我想指定两个label 在同一行 这时候grid就可以上场了 微信图片_20190220084011.png
  1. from tkinter import * # import the Tkinter module
  2. root = Tk() # create a root window
  3. root.title('title')
  4. root.geometry('300x200')
  5. label1 = Label(root, text = 'i am label1')
  6. label1.grid(row=0)
  7. label2 = Label(root, text = 'i am label2')
  8. label2.grid(row=0, column=1)
  9. root.mainloop()
微信图片_20190220084046.png 当然这只是简单的例子 在多个控件时,使用表格1里的option参数即可以完成复杂的界面布局 本帖最后由 常见泽1 于 2019-2-20 13:23 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复