Python 2.7 中是否有显示可复制文本的消息框?

Is there a message box which displays copy-able text in Python 2.7?

我正在尝试编写一个 Python 程序,它获取一个字符串作为输入并在消息框中显示该字符串,并从每个单词中删除最后一个字母。 我已经成功地编写了代码来删除每个单词的最后一个字母,并且我开始了解 tkinter 模块。 但是文本不能从 tk 消息框中复制。 还有其他方法可以显示带有可复制文本的消息框吗? 如果没有办法显示这样的消息框,有没有办法在不显示消息框的情况下以可复制的形式显示输出? 附加(无用)信息:

  1. 这种语言的名字是 fromonk(如果你想知道为什么 var 名字 fromonk_text)
  2. 笑脸应该完整显示。(包括最后一个字母)。因此 if-else 块。

我写的代码:

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)

没有内置任何东西。您可以使用包含 Text 小部件和一些 Button 小部件的 Toplevel 小部件创建自己的弹出对话框,或者您可以使用 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()