首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含可选文本的python tkinter弹出窗口

包含可选文本的python tkinter弹出窗口
EN

Stack Overflow用户
提问于 2012-11-23 03:48:43
回答 2查看 4.8K关注 0票数 4

我想用Tkinter制作弹出窗口。我可以这样做:

代码语言:javascript
复制
import Tkinter
a="some data that use should be able to copy-paste"
tkMessageBox.showwarning("done","message")

但有一个问题是,用户需要能够选择,复制和粘贴显示的文本。这样做是不可能的。

有什么方法可以用Tkinter做到这一点吗?(或默认随python提供的其他工具)

提前感谢你的建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-23 04:26:44

here的角度来看,在Tkinter中使用Entry似乎是可行的。代码如下:

代码语言:javascript
复制
import Tkinter as Tk
root = Tk.Tk()

ent = Tk.Entry(root, state='readonly')
var = Tk.StringVar()
var.set('Some text')
ent.config(textvariable=var, relief='flat')
ent.pack()
root.mainloop()

编辑:为了回复您的评论,我使用Text小部件found了一种插入多行文本的方法。以下是解决方案的草案:

代码语言:javascript
复制
from Tkinter import *

root = Tk()
T = Text(root, height=2, width=30, bg='lightgrey', relief='flat')
T.insert(END, "Just a text Widget\nin two lines\n")
T.config(state=DISABLED) # forbid text edition
T.pack()
mainloop()

我(仍然)对更好的解决方案感兴趣:)

票数 3
EN

Stack Overflow用户

发布于 2012-11-23 05:12:41

您可以使用按钮进行复制和粘贴。首先,您需要选择。在文本小部件中,可以通过以下方式轻松完成此操作

代码语言:javascript
复制
selection=nameoftextwidget.get(SEL_FIRST,SEL_LAST)

然后,您可以通过使用选择来轻松地使用此选项进行复制。如果要将其复制/粘贴到同一文本小部件中,可以使用:

代码语言:javascript
复制
nameoftextwidget.insert(END,"\n"+selection)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13519192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档