2

我正在尝试为我的代码提供一个 gui,但我不知道如何将输入与 tkinter 文本框一起使用。我试图给一个gui的代码:

phrase = input("ENTER TEXT ")
print("YOU ENTERED " + phrase + " NUMBER OF LETTERS: ")
print(len(phrase))
print("CONVERTED TO LOWER CASE:")
print(phrase.lower())
print("CONVERTED TO UPPER CASE:")
print(phrase.upper())


def say_hi():
        print("BYE USER")
        input('Press ENTER to exit')
say_hi()
4

3 回答 3

1

这个问题有点令人困惑,但这会打开一个带有输入框的消息。

import tkSimpleDialog
answer = tkSimpleDialog.askstring(title, message)
  • ' title ' 参数只是消息框的标题,即顶部的文本。
  • ' message '参数是消息框内的消息,如'Input your name'。

这比其他方法更容易,因为您不需要设置框并定位所有元素。但是,如果您需要除带有条目的对话框之外的任何内容,则可能需要尝试其他答案之一。:)

然后,您可以根据需要使用“答案”,完全按照您的方式使用input()

〜希望这有帮助!:D

于 2018-12-16T19:15:56.627 回答
0

您需要阅读 Tkinter 手册以查看适合您的布局。对于上述要求,试试这个:

  1. 首先导入库:import tkinter as tk
  2. 然后在您的主要功能/方法/类之外:root.mainloop()
  3. 您可以使用 tkinter 网格布局。在这里尝试一些示例:https ://www.python-course.eu/tkinter_layout_management.php
  4. 然后:

    phraseLabel = Label(window, text = "ENTER TEXT").grid(row=1,column=1) #creates label

    phraseEntry = Entry(window, textvariable=phraseValue).grid(row=2,column=1) #create input text field

  5. 要从文本字段中检索值,请使用:phraseValue.get()

最良好的祝愿

于 2018-12-16T19:21:25.673 回答
0

以下代码完全执行您使用 tkinter GUI 所做的事情。

这是您需要了解的内容:

  • 标签用于创建段落。
  • Entry 是一个文本输入小部件。
  • Entry 有一个 get 方法来提取提示文本。
  • 要覆盖条目中的现有文本,请使用它的删除方法。您必须指定要删除的范围。
  • 要在条目中插入文本,请使用它的方法 insert。您必须指定插入文本的位置。

代码

import tkinter as tk

class YourGUI(tk.Tk):
    def __init__(self):
        # inherit tkinter's window methods
        tk.Tk.__init__(self)

        tk.Label(self, text="ENTER TEXT:")\
            .grid(row=0, column=0)
        self.input = tk.Entry(self)
        self.input.grid(row=0, column=1)

        tk.Label(self, text="CONVERTED TO LOWER CASE:")\
            .grid(row=1, column=0)
        self.result_lower = tk.Entry(self)
        self.result_lower.grid(row=1, column=1)

        tk.Label(self, text="CONVERTED TO UPPER CASE:")\
            .grid(row=2, column=0)
        self.result_upper = tk.Entry(self)
        self.result_upper.grid(row=2, column=1)

        tk.Button(self, text="convert", command=self.do_conversion)\
            .grid(row=3, column=0, columnspan=2)



    def do_conversion(self):
        self.result_lower.delete(0, tk.END)
        self.result_upper.delete(0, tk.END)

        phrase = self.input.get()
        self.result_lower.insert(0, phrase.lower())
        self.result_upper.insert(0, phrase.upper())

if __name__ == '__main__':
    your_gui = YourGUI()
    your_gui.mainloop()

您应该看一些 tkinter 教程,如下所示 https://likegeeks.com/python-gui-examples-tkinter-tutorial/

于 2018-12-16T19:51:15.740 回答