📜  Python中的 AppJar 模块

📅  最后修改于: 2022-05-13 01:54:54.449000             🧑  作者: Mango

Python中的 AppJar 模块

appJar库旨在提供使用Python创建 GUI 的最简单方法。它是 Tkinter 的封装,允许中学生用Python开发简单的 GUI。 appJar的设计方式使其可以在许多版本的Python上运行,因此与初学者一起工作真的很容易。

安装

appJar 库主要用于学校,因此不需要特定安装。
任何Python程序员都可以下载zip 文件,解压缩并在将其复制到源代码文件夹后使用该库。

它还支持使用以下命令进行安装:

pip install appjar

入门

要创建appJar应用程序:

  1. 从 appJar 库导入 gui 并创建 gui 变量。
    为此,在源代码文件的开头添加以下行
    # import the library
    from appJar import gui
    
    # let app be name of gui variable
    app = gui()
    
  2. 使用 app 变量,配置每个小部件的应用程序外观和逻辑。
    例如,这里我们使用 app 变量创建一个显示“Hello World”的窗口。
    app.addLabel("title", " Hello World! ")
    
    app.setLabelBg("title", "blue")
    
  3. 最后,通过在代码中附加以下命令来运行应用程序:
    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()

输出:

appjar-hello-world

小部件

有两种类型的小部件:输入小部件和输出小部件。小部件通常具有三个常用功能:

  • add -此函数用于将小部件添加到应用程序
  • get -此函数用于获取小部件的内容
  • set -此函数用于更改内容或配置小部件

对于上述每个函数,第一个参数将始终是小部件的标题。下面提到了一些常用的小部件。

输入小部件

这些用于记录用户通过单击、拖动或键入与应用程序的交互。

  1. 条目:此小部件用于获取用户的键入输入,通常此小部件采用单个参数 - 标题

    句法:

    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()
    

    输出:

    appjar 入口字段

  2. 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()
    

    输出:

    appjar-textarea

  3. 按钮:按钮用于调用特定的函数,使应用程序与用户更具交互性。

    句法:

    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()
    

    输出:

    应用程序按钮

    点击按钮后:

    appjar-button-2

输出小部件

这些小部件用于向与应用程序交互的用户显示一些信息。

  1. 标签:标签用于在应用程序上显示文本。

    句法:

    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()
    

    输出:

    应用程序标签

  2. 消息:消息小部件用于在应用程序上显示多行文本。

    句法:

    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()
    

    输出:

    appjar 消息