: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

Python的标准GUI库Tkinter开发基础 - 使用文本框控件

Python的标准GUI库Tkinter开发基础 - 使用文本框控件

在Tkinter库的控件中,文本框控件主要用来实现信息接收和用户的信息输入功能。在 Python 程序中,使用tkinter.Entry与tkinter.Text可以创建单行文本框和多行文本框组件。通过向文本框控件传递属性参数可以设置文本框的背景色、大小、状态等。表4-4所示了tkinter.Entry和tkinter.Text所共有的几个属性控制参数。

表4-4 tkinter.Entry和tkinter.Text所共有的属性控制参数



实例文件wen.py演示了使用Tkinter在窗体中使用文本框控件的过程。
  1. import tkinter #导入Tkinter模块
  2. root = tkinter.Tk()#生成一个主窗口对象
  3. entry1 = tkinter.Entry(root,#创建单行文本框1
  4. show ='*',)#设置显示的文本是星号
  5. entry1.pack()#将文本框添加到窗口中
  6. entry2 = tkinter.Entry(root,#创建单行文本框2
  7. show ='#',#设置显示的文本是井号
  8. width =50)#设置文本框的宽度
  9. entry2.pack()#将文本框添加到窗口中
  10. entry3 = tkinter.Entry(root,#创建单行文本框3
  11. bg ='red',#设置文本框的背景色
  12. fg ='blue')#设置文本框的前景色
  13. entry3.pack()#将文本框添加到窗口中
  14. entry4 = tkinter.Entry(root,#创建单行文本框4
  15. selectbackground ='red',#设置选中文本的背景色
  16. selectforeground ='gray')#设置选中文本的前景色
  17. entry4.pack()#将文本框添加到窗口中
  18. entry5 = tkinter.Entry(root,#创建单行文本框5
  19. state = tkinter.DISABLED)#禁用文本框
  20. entry5.pack()#将文本框添加到窗口中
  21. edit1 = tkinter.Text(root,#创建多行文本框
  22. selectbackground ='red',#设置选中文本的背景色
  23. selectforeground ='gray')
  24. edit1.pack()#将文本框添加到窗口中
  25. root.mainloop()#进入消息循环
复制代码
上述实例代码使用不同的属性参数实例化了6种文本框,执行后的效果如图4-5所示。



执行文件wen.py后的效果

实例文件wen1.py演示了使用Tkinter在窗体中实现会员注册界面的过程。
  1. from tkinter import*
  2. classMainWindow:
  3. def __init__(self):
  4. self.frame =Tk()
  5. self.label_name =Label(self.frame, text="name:")
  6. self.label_age =Label(self.frame, text="age:")
  7. self.label_sex =Label(self.frame, text="sex:")
  8. self.text_name =Text(self.frame, height="1", width=30)
  9. self.text_age =Text(self.frame, height="1", width=30)
  10. self.text_sex =Text(self.frame, height="1", width=30)
  11. self.label_name.grid(row=0, column=0)
  12. self.label_age.grid(row=1, column=0)
  13. self.label_sex.grid(row=2, column=0)
  14. self.button_ok =Button(self.frame, text="ok", width=10)
  15. self.button_cancel =Button(self.frame, text="cancel", width=10)
  16. self.text_name.grid(row=0, column=1)
  17. self.text_age.grid(row=1, column=1)
  18. self.text_sex.grid(row=2, column=1)
  19. self.button_ok.grid(row=3, column=0)
  20. self.button_cancel.grid(row=3, column=1)
  21. self.frame.mainloop()
  22. frame =MainWindow()
复制代码
执行后的效果如图4-6所示。


论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

  1. import tkinter

  2. root = tkinter.Tk()

  3. entry1 = tkinter.Entry(root,show='*')
  4. entry1.pack()

  5. entry2 = tkinter.Entry(root,show='#',width=50)
  6. entry2.pack()

  7. entry3 = tkinter.Entry(root,bg='red',fg='blue')
  8. entry3.pack()

  9. entry4 = tkinter.Entry(root,selectbackground='red',selectforeground='gray')
  10. entry4.pack()

  11. entry5 = tkinter.Entry(root,state=tkinter.DISABLED)
  12. entry5.pack()

  13. edit1 = tkinter.Text(root,selectbackground='red',selectforeground='gray')
  14. edit1.pack()

  15. root.mainloop()
复制代码
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

  1. from tkinter import*

  2. class MainWindow:
  3.     def __init__(self):
  4.          self.frame =Tk()
  5.          self.label_name =Label(self.frame, text="name:")
  6.          self.label_age =Label(self.frame, text="age:")
  7.          self.label_sex =Label(self.frame, text="sex:")
  8.          self.text_name =Text(self.frame, height="1", width=30)
  9.          self.text_age =Text(self.frame, height="1", width=30)
  10.          self.text_sex =Text(self.frame, height="1", width=30)
  11.          self.label_name.grid(row=0, column=0)
  12.          self.label_age.grid(row=1, column=0)
  13.          self.label_sex.grid(row=2, column=0)
  14.          self.button_ok =Button(self.frame, text="ok", width=10)
  15.          self.button_cancel =Button(self.frame, text="cancel", width=10)
  16.          self.text_name.grid(row=0, column=1)
  17.          self.text_age.grid(row=1, column=1)
  18.          self.text_sex.grid(row=2, column=1)
  19.          self.button_ok.grid(row=3, column=0)
  20.          self.button_cancel.grid(row=3, column=1)
  21.          self.frame.mainloop()
  22. frame =MainWindow()
复制代码
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

返回列表