我正在尝试编写一个Python程序,它将一个字符串作为输入,并在一个消息框中显示该字符串,并从每个单词中删除最后一个字母。我已成功编写代码来删除每个单词的最后一个字母,然后我开始了解tkinter模块。但是文本不能从tk消息框中复制。有没有其他方法可以显示带有可复制文本的消息框?如果无法显示此类消息框,有没有办法以可复制的形式显示输出而不显示消息框?附加(无用)信息:
我写的代码:
import tkMessageBox
line="foo"
while line!="exit":
fromonk_text=""
line=raw_input()
words=line.split()
for word in words:
if word.startswith(":"):
fromonk_text+=word+" "
else:
fromonk_text+=word[0:len(word)-1]+" "
tkMessageBox.showinfo("Fromonk",fromonk_text)
内置任何东西都没有。您可以使用包含Toplevel
小部件和一些Text
小部件的Button
小部件创建自己的弹出式对话框,或者您可以使用tkSimpleDialog
有些文档可以在这里找到:http://effbot.org/tkinterbook/tkinter-dialog-windows.htm
这是一个简单的工作示例。它允许编辑文本,但如果需要,可以禁用它。
import Tkinter as tk
import tkSimpleDialog
class CustomDialog(tkSimpleDialog.Dialog):
def __init__(self, parent, title=None, text=None):
self.data = text
tkSimpleDialog.Dialog.__init__(self, parent, title=title)
def body(self, parent):
self.text = tk.Text(self, width=40, height=4)
self.text.pack(fill="both", expand=True)
self.text.insert("1.0", self.data)
return self.text
def show_dialog():
fromonk_text = "this is an example"
CustomDialog(root, title="Example", text=fromonk_text)
root = tk.Tk()
button = tk.Button(root, text="Click me", command=show_dialog)
button.pack(padx=20, pady=20)
root.mainloop()