AppJar的网格布局操作

时间:2019-02-02 21:01:20

标签: python appjar

几天前,我刚刚开始使用AppJar作为python的GUI,并且遇到了一个似乎无法解决的问题...:(

这与AppJar中的网格管理有关,有点难以用语言概括。因此,让我告诉你:

我为不同的帧尝试了几种比率和粘性值。底部注释掉了对我有用的解决方案(但是缓慢而丑陋)。

app = gui("Organizer", "900x600")
#app.enableEnter()

#Window settings#
app.setSticky("new")
app.setExpand("Both")

#Adding Widgets#
app.addLabel("title", "Organizing studies", row=0, column=0,rowspan=1,colspan=12)
app.setLabelFont("title", "Calibri")
app.addButton("Login", openSub, row=0,column=12,rowspan=1,colspan=2)


#Courses Panel
app.startLabelFrame("Courses",row=1,column=0,rowspan=14,colspan=10,sticky="news")
app.addTable("Courses",[["Course","Start","End","Open"]])
app.stopLabelFrame()

#Tasks Panel
app.startLabelFrame("Tasks",row=1,column=10,rowspan=14,colspan=4,sticky="news")
app.addTable("Tasks",[["Task","End","Open"]])
app.stopLabelFrame()

app.addButtons(["Add Course","Add Task"],[addCourse,addTask],row=6,column=4,colspan=5,rowspan=1)
#for i in range(2,18):
#    app.addEmptyLabel("{0}".format(i),row=i,colspan=0)

This is what it should be producingThis is what its Producing

对于任何解释或帮助我都很高兴:)

1 个答案:

答案 0 :(得分:0)

您要处理几个问题:

1)您已将labelFrames设置为跨越14行,但是将Add按钮放在第6行中,将它们绘制在顶部。它们至少必须位于第15行中。或者只是不要求labelFrames跨越行,所以没有必要...

2)您将需要更改每一行的展开/粘滞设置:

  • 在开头使用app.setSticky(“ ne”)&app.setExpand(“ none”)
  • 在labelFrames之前使用app.setSticky(“ news”)&app.setExpand(“ both”)
  • 在按钮之前使用app.setSticky(“ ne”)和app.setExpand(“ none”)