当前位置: 首页 > news >正文

python输出文本居中_如何在Tkinter文本小部件中居中文本?

这是你的代码和修改指示,以便它做你想要的。这是通过添加一个名为insert_centered()的新函数并在文本小部件的内容发生更改时调用它来实现的。

注意,新函数是传递给文本小部件的,而不是硬编码全局变量的名称。import random

import PIL.ImageTk

import PIL.Image

from Tkinter import *

def thinking():

# T1.insert(INSERT, 'Thinking...') # REMOVED

insert_centered(T1, 'Thinking...') # ADDED

T1.after(3000, empty_textbox)

def empty_textbox():

T1.delete("1.0", END)

def new_question(event=None):

empty_textbox()

if len(entry.get()) == 0:

# T1.insert(END, 'Ask a question') # REMOVED

insert_centered(T1, 'Ask a question') # ADDED

else:

thinking()

T1.after(3000, give_answer)

def give_answer():

answers = ['Signs point to yes.',

'Yes.',

'Reply hazy',

'try again.',

'Without a doubt.',

'My sources say no.',

'As I see it, yes.',

'You may rely on it.',

'Concentrate and ask again.',

'Outlook not so good.',

'It is decidedly so.',

'Better not tell you now.',

'Very doubtful.',

'Yes - definitely.',

'It is certain.',

'Cannot predict now.',

'Most likely.',

'Ask again later.',

'My reply is no.',

'Outlook good.',

'Don\'t count on it.']

answer = random.randint(1, 20)

# T1.insert(END, answers[answer]) # REMOVED

insert_centered(T1, answers[answer]) # ADDED

def end():

exit()

def clear():

entry.delete(0, 'end')

T1.delete('1.0', END)

def insert_centered(text_widget, text): # ADDED

text_widget.delete("1.0", END) # ADDED

text_widget.insert("1.0", text, "center") # ADDED

root = Tk()

load = PIL.Image.open("8-ball.png")

render = PIL.ImageTk.PhotoImage(load)

img = Label(root, image=render)

img.image = render

img.pack()

topFrame = Frame(root)

topFrame.pack()

bottomFrame = Frame(root)

bottomFrame.pack(side=BOTTOM)

entry = Entry(root, width=40)

entry.pack()

T1 = Text(root, width=26, height=1)

T1.tag_configure("center", justify='center')

T1.tag_add("center", 1.0, "end")

T1.pack()

root.bind('', new_question)

button1 = Button(bottomFrame, text="Ask", fg="blue", command=new_question)

button2 = Button(bottomFrame, text="Clear", fg="blue", command=clear)

button3 = Button(bottomFrame, text="Quit", fg="blue", command=end)

button1.pack(side=LEFT)

button2.pack(side=LEFT)

button3.pack(side=LEFT)

root.mainloop()

为了方便其他读者,下面是一个可用于测试的图像:

MkZvd.png

相关文章:

  • SVN pk CVS
  • java api接口怎么写_看看人家那后端API接口写的,那叫一个优雅
  • 彻底解决Symbian全屏显示问题
  • python与java后台_【Web后端工程师-Python/Java是做什么的】知乎2020年Web后端工程师-Python/Java岗位职责-看准网...
  • python os模块需要安装吗_Python模块常用的几种安装方式
  • python获取当前时间的函数_在Python中获取毫秒和微秒
  • 浅析互联网创新为电信业发展带来的启示
  • mysql replace函数_mysql数据库学习(第二十二篇)- 函数
  • 3G与WIMAX竞争中融合 终端内容趋同
  • word 正则表达式 替换_GVIM正则表达式
  • 书讯 -- Training Kit:SQL Server 2005 实作与维护 I II
  • 成功人生生涯规划精进要诀24条
  • 随机抽人名小程序_python小程序(3):turtle随机画心
  • 个人理财十大“通用”原则
  • c++ lambda函数_c++ functors 和 自定义比较函数
  • [LeetCode] Wiggle Sort
  • 3.7、@ResponseBody 和 @RestController
  • Android单元测试 - 几个重要问题
  • AngularJS指令开发(1)——参数详解
  • CentOS7简单部署NFS
  • CSS实用技巧干货
  • fetch 从初识到应用
  • HTML中设置input等文本框为不可操作
  • JavaScript HTML DOM
  • JavaScript设计模式之工厂模式
  • LintCode 31. partitionArray 数组划分
  • October CMS - 快速入门 9 Images And Galleries
  • overflow: hidden IE7无效
  • React中的“虫洞”——Context
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue总结
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 从零搭建Koa2 Server
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 分布式任务队列Celery
  • 分享几个不错的工具
  • 记一次和乔布斯合作最难忘的经历
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 如何实现 font-size 的响应式
  • 使用common-codec进行md5加密
  • 一些关于Rust在2019年的思考
  • 我们雇佣了一只大猴子...
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (175)FPGA门控时钟技术
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (一) springboot详细介绍
  • (一)UDP基本编程步骤
  • (转)C#调用WebService 基础
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ***检测工具之RKHunter AIDE
  • .net 7 上传文件踩坑
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现