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()
输出:
小部件
有两种类型的小部件:输入小部件和输出小部件。 Widget 通常具有三个常见函数:
- add -该函数用于将小部件添加到应用程序中
- get -该函数用于获取widget的内容
- set -该函数用于更改内容或配置小部件
对于上述每个函数,第一个参数始终是小部件的标题。下面提到了一些常用的小部件。
输入小部件
它们用于记录用户通过单击、拖动或键入与应用程序的交互。
- Entry:该小部件用于获取用户的键入输入,通常该小部件采用单个参数 - 标题
用法:
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:该小部件用于获取用户键入的输入,但与输入字段不同,它支持多行键入文本。
用法:
app.addTextArea("textAreaTitle", text=None)
您可以使用以下方法将文本添加到指定的文本区域:
app.setTextArea("textAreaTitle", "someText", end = True, callFunction = True)
- 默认情况下,通过在参数中设置 end = False 在文本区域的末尾添加文本,您可以在文本区域的开头附加文本
- 如果您不想调用任何关联函数,则将 callFunction 设置为 False
要获取特定文本区域的值,请使用:
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()
输出:
- Button:按钮用于调用特定函数,使应用程序与用户更具交互性。
用法:
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()
输出:
单击按钮后:
输出小部件
这些小部件用于向与应用程序交互的用户显示一些信息。
- Label:标签用于在应用程序上显示文本。
用法:
app.addLabel("labelTitle", text="someText")
在这里,如果文本设置为“无”,则标签的标题将显示在应用程序的标签输出小部件中。
您可以使用以下方法更改标签的内容:
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()
输出:
- Message:消息小部件用于在应用程序上显示多行文本。
用法:
app.addMessage("messageTitle", text="someText")
在这里,如果文本设置为“无”,则消息小部件的标题将显示在应用程序的消息输出小部件中。
您可以使用以下方法更改消息的内容:
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()
输出:
相关用法
- Python Ascii()用法及代码示例
- Python ASCII转Binary用法及代码示例
- Python ArcGIS UX.featured_content用法及代码示例
- Python ArcGIS PortalLicense.update用法及代码示例
- Python arcgis.mapping.SceneLayerManager.delete_tiles用法及代码示例
- Python arcgis.mapping.SceneLayerManager.edit_tile_service用法及代码示例
- Python arcgis.mapping.SceneLayerManager.import_tiles用法及代码示例
- Python arcgis.mapping.SceneLayerManager.update_tiles用法及代码示例
- Python arcgis.mapping.MapImageLayerManager.import_tiles用法及代码示例
- Python arcgis.apps.hub.Initiative.delete用法及代码示例
- Python arcgis.apps.hub.Initiative.update用法及代码示例
- Python arcgis.apps.hub.Indicator.delete用法及代码示例
- Python arcgis.apps.hub.Indicator.update用法及代码示例
- Python arcgis.apps.hub.InitiativeManager.add用法及代码示例
- Python arcgis.apps.hub.InitiativeManager.get用法及代码示例
- Python arcgis.apps.hub.IndicatorManager.add用法及代码示例
- Python arcgis.learn.export_training_data用法及代码示例
- Python arcgis.learn.detect_objects用法及代码示例
- Python arcgis.learn.classify_objects用法及代码示例
- Python arcgis.learn.classify_pixels用法及代码示例
- Python arcgis.learn.list_models用法及代码示例
- Python arcgis.learn.train_model用法及代码示例
- Python ArcGIS GIS.map用法及代码示例
- Python ArcGIS GIS.update_properties用法及代码示例
- Python ArcGIS GIS用法及代码示例
注:本文由纯净天空筛选整理自Meet Parekh大神的英文原创作品 AppJar module in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。