Python中的 AppJar 模块
appJar
库旨在提供使用Python创建 GUI 的最简单方法。它是 Tkinter 的封装,允许中学生用Python开发简单的 GUI。 appJar
的设计方式使其可以在许多版本的Python上运行,因此与初学者一起工作真的很容易。
安装
appJar 库主要用于学校,因此不需要特定安装。
任何Python程序员都可以下载zip 文件,解压缩并在将其复制到源代码文件夹后使用该库。
它还支持使用以下命令进行安装:
pip install appjar
入门
要创建appJar
应用程序:
- 从 appJar 库导入 gui 并创建 gui 变量。
为此,在源代码文件的开头添加以下行# import the library from appJar import gui # let app be name of gui variable app = gui()
- 使用 app 变量,配置每个小部件的应用程序外观和逻辑。
例如,这里我们使用 app 变量创建一个显示“Hello World”的窗口。app.addLabel("title", " Hello World! ") app.setLabelBg("title", "blue")
- 最后,通过在代码中附加以下命令来运行应用程序:
app.go()
完整代码:
# Python program to demonstrate
# hello world in appjar
# import the library
from appJar import gui
# let app be name of gui
# variable
app = gui()
# Adding the label
app.addLabel("title", " Hello World! ")
# Setting the background color
app.setLabelBg("title", "blue")
app.go()
输出:
小部件
有两种类型的小部件:输入小部件和输出小部件。小部件通常具有三个常用功能:
- add -此函数用于将小部件添加到应用程序
- get -此函数用于获取小部件的内容
- set -此函数用于更改内容或配置小部件
对于上述每个函数,第一个参数将始终是小部件的标题。下面提到了一些常用的小部件。
输入小部件
这些用于记录用户通过单击、拖动或键入与应用程序的交互。
- 条目:此小部件用于获取用户的键入输入,通常此小部件采用单个参数 - 标题
句法:
app.addEntry("entryTitle")
您可以使用以下方法将默认值设置为条目:
app.setEntryDefault("entryTitle", "defaultText")
要获取特定条目的值,请使用:
app.getEntry("entryTitle")
要获取所有条目的值,请使用。
app.getAllEntries()
注意:这会将所有条目的内容作为字典返回。
例子:
# Python program to demonstrate # entry widget appjar from appJar import gui app = gui() # Adding the entry app.addEntry("entry_1") # Setting the default value app.setEntryDefault("entry_1", "This is an Entry field") app.go()
输出:
- TextArea:此小部件用于获取用户输入的内容,但与 Entry 字段不同,它支持多行输入文本。
句法:
app.addTextArea("textAreaTitle", text=None)
您可以使用以下方法将文本添加到指定的文本区域:
app.setTextArea("textAreaTitle", "someText", end = True, callFunction = True)
- 默认情况下,通过在参数中设置 end = False 将文本添加到文本区域的末尾,您可以在文本区域的开头附加文本
- callFunction 设置为 False,如果您不想调用任何关联函数
要获取特定 textarea 的值,请使用:
app.getTextArea("textAreaTitle")
要获取所有文本区域的内容,请使用。
app.getAllTextAreas()
注意:这会将所有条目的内容作为字典返回。
例子
# Python program to demonstrate # textarea widget appjar from appJar import gui app = gui() # Adding text area app.addTextArea("TA_1") # Setting the default value app.setTextArea("TA_1", "This is a Text field", end = True, callFunction = False) app.go()
输出:
- 按钮:按钮用于调用特定的函数,使应用程序与用户更具交互性。
句法:
app.addButton("buttonTitle", functionName )
这里需要指定functionName,当点击按钮时会调用它,其中标题作为参数传递给被调用的函数。
您可以使用以下方法更改按钮的名称,但不能更改作为参数传递的值:
app.setButton("buttonTitle", "someText")
您还可以使用以下方法在按钮上放置图像而不是文本:
app.setButtonImage("buttonTitle", "imagePath", align=None)
如果设置了对齐,则图像将相对于文本对齐,否则图像将简单地替换文本。
例子:
# Python program to demonstrate # button widget of appjar from appJar import gui # Function to be passed # when the button is clicked def clicked(btn): print(btn) app = gui() # Adding the button app.addButton("btn_one", clicked) # Change the name of the button app.setButton("btn_one", "Click me") app.go()
输出:
点击按钮后:
输出小部件
这些小部件用于向与应用程序交互的用户显示一些信息。
- 标签:标签用于在应用程序上显示文本。
句法:
app.addLabel("labelTitle", text="someText")
在这里,如果 text 设置为 None 那么标签的标题将显示在应用程序的标签输出小部件中。
您可以使用以下方法更改标签的内容:
app.setLabel("labelTitle", "someText")
您可以使用以下方式获取标签的内容:
app.getLabel("labelTitle")
例子:
# Python program to demonstrate # label widget of appjar from appJar import gui app = gui() # Adding the label app.addLabel("label_1", text ="This is a label") app.go()
输出:
- 消息:消息小部件用于在应用程序上显示多行文本。
句法:
app.addMessage("messageTitle", text="someText")
在这里,如果文本设置为无,那么消息小部件的标题将显示在应用程序的消息输出小部件中。
您可以使用以下方法更改 Message 的内容:
app.setMessage("messageTitle", "someText")
您使用以下命令清除指定消息小部件的内容:
app.clearMessage("messageTitle")
例子
# Python program to demonstrate # message widget of appjar from appJar import gui app = gui() # Adding the message label app.addLabel("label_1", text ="This is a message label") app.go()
输出: