首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法使Python appJar TickOptionBox正常运行

我无法使Python appJar TickOptionBox正常运行
EN

Stack Overflow用户
提问于 2017-07-22 03:11:26
回答 1查看 585关注 0票数 0

为了获得潜在的帮助,我会尽量简明扼要。我正在试着为一个我喜欢的项目写一些很酷的代码,它涉及到一个GUI。到目前为止,我一直在使用appJar,在执行文本输入时,从原始窗口调用新窗口没有任何问题。然而,尝试创建复选框列表几乎是不可能的。

下面是一些简化的代码,用来说明我正在尝试实现的功能,但并不起作用:

代码语言:javascript
复制
from appJar import gui

def testfunction():
    def get(btn):
        print(app.getOptionBox("Favourite Pets"))
    petlist=["Dogs.txt", "Cats.txt", "Hamsters.txt", "Fish.txt"]
    print(petlist)
    app=gui()
    app.setFont(20)
    app.addTickOptionBox("Favourite Pets", petlist)
    app.addButton("GET", get)
    app.go()

testfunction()

def press(button):
    if button == "Cancel":
        app2.stop()
    else:
        testfunction()

app2=gui("Name")
app2.addButtons(["TEST", "Cancel"], press)
app2.go()

当我自己调用测试函数时,输出是预期的:一个包含{Dogs.txt: True,...}的字典,其中的True和False取决于您是否单击了菜单中的框。

但是,如果我尝试在按下按钮时调用函数,则字典中的每个值都被设置为false,而不管选中的框是什么。这通常不是什么大问题,但是我需要第一次设置返回一个带有标记为true的值的数组(已经完成了,除了能够返回)。怎么回事?

;tl-dr Appjar似乎不喜欢嵌套的按钮和选项集,即使它们单独工作得很好。哈普。

EN

回答 1

Stack Overflow用户

发布于 2017-07-29 04:01:24

我正在努力重现你提到的问题

但我建议使用一个图形用户界面并创建一个SubWindow,而不是创建多个GUI

代码语言:javascript
复制
from appJar import gui 
petlist=["Dogs.txt", "Cats.txt", "Hamsters.txt", "Fish.txt"]

def get(btn):
    print(app.getOptionBox("Favourite Pets"))

def press(button):
    if button == "Cancel":
        app.stop()
    else:
        app.showSubWindow("Pets")

app = gui("Name")
app.setFont(20)
app.addButtons(["TEST", "Cancel"], press)

app.startSubWindow("Pets")
app.addTickOptionBox("Favourite Pets", petlist)
app.addButton("GET", get)
app.stopSubWindow()

app.go()

这可能会让事情变得更容易管理,而且似乎会给出预期的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45245137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档