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

问题描述 投票:-1回答:1

我正在尝试编写一个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)
python-2.7 tkinter msgbox
1个回答
0
投票

内置任何东西都没有。您可以使用包含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()

Example Window

© www.soinside.com 2019 - 2024. All rights reserved.