对话框中的用户输入

Ron*_*nyA 5 python user-interface tkinter python-3.x

python中是否有任何库可用于图形用户输入。我知道,tk但是我相信这需要一些代码。我正在寻找最短的解决方案。

a = input('Enter your string here:') 
Run Code Online (Sandbox Code Playgroud)

代替此,我想获得一个对话框,以便用户可以在那里输入。

这没有达到目的。这仅显示对话框,您不能提供输入条目。

import ctypes  # An included library with Python install.   
ctypes.windll.user32.MessageBoxW(0, "Your text", "Your title", 1)
Run Code Online (Sandbox Code Playgroud)

小智 8

您有两种解决方案选择。你可以通过pip获取两个包,一个是easygui,另一个是easygui_qt。easygui基于tcl,easygui_qt基于qt窗口管理器,设置起来稍微困难一点,但使用起来也一样简单,有更多的选项。

他们需要使用的只是导入包,import easygui然后,要获得用户响应,您将使用一行...

myvar = easygui.enterbox("What, is your favorite color?")
Run Code Online (Sandbox Code Playgroud)

谷歌“python easygui”以获得更详细的信息。
您可以从pypi获取 easygui 。


Art*_*ica 5

我认为这是没有任何外部因素的最短时间:


开始:

from tkinter import *
root=Tk()
Run Code Online (Sandbox Code Playgroud)

而不是a=input('enter something')

a=StringVar()
Label(root, text='enter something').pack()
Entry(root, textvariable=a).pack()
Button(root, text='Ok', command=lambda:DoSomethingWithInput(a.get)).pack()
Run Code Online (Sandbox Code Playgroud)

带功能 DoSomethingWithInput(a)


而不是print('some text')

Label(root, text='some text').pack()
Button(root, text='Ok', command=DoSomething).pack()
Run Code Online (Sandbox Code Playgroud)

随着DoSomething()你下一步做什么。