如何在框架顶部的Tkinter中保留一个标签小部件(页面标题)
问题描述:
我在框架本身有一个带有标题(问卷)的Tkinter框架,以及我从数据库中提取的一堆问题。如何在框架顶部的Tkinter中保留一个标签小部件(页面标题)
所有问题都已添加到字典中,以便它们可以与变量关联,这意味着我可以使用for循环为问题创建标签小部件。
问题标签显示正常,标题显示正常。问题在于问题出现在应该位于顶部的标题“问卷”之前。
def QuestionnaireTitle(self):
Title = Label(self, text='Questionnaire', bg='firebrick', fg='white', width=50, font=('MS', 24, 'bold'))
Title.grid(row=0,column=0, columnspan=4, rowspan=1)
def QuestionnaireQuestions(self):
db = connect("openDay.db")
allQuestions = []
questionsDict = dict()
#Questions
for i in range(13):
j = get_questionniare_question(db,i)[0]
allQuestions.append(j)
for a in range(len(allQuestions)):
questionsDict["Q"+str(i)] = allQuestions[i]
for key,value in questionsDict.items():
i+=1
key = Label(text=value, font=('Helvetica', 12, 'bold'))
key.grid(row=i, sticky=W)
我知道,当你从一个文本文件中提取文本或CSV你可以使用这样的事情,以防止这种情况发生
lines = csv_file.readlines()
the_title = lines[0]
the_rest = lines[1:]
的事情是否有使用数据库的类似的方法?还是完全一样?我是否必须将“调查问卷”放在数据库本身中才能像这样工作?或者它可以保留在Python脚本本身作为标签?
如果问题不是那么清楚的话,我们应该考虑一下!
答
我会尝试在主要调用下放置“QuestionnaireTitle”。不要让它成为函数调用,而是在定义root之后放置行。既然你没有显示你的代码的一部分,这里是我如何做到这一点在我的:
if __name__ == '__main__':
root = Tkinter.Tk()
root.minsize(width=250, height=50)
Title = Label(self, text='Questionnaire', bg='firebrick', fg='white', width=50, font=('MS', 24, 'bold'))
Title.grid(row=0,column=0, columnspan=4, rowspan=1)
希望它有帮助!
立即工作。干杯! – Treeno1
太棒了!很高兴它的工作。你能把这个标记为正确的答案(它旁边的绿色复选标记),以便其他人知道,并且这将有助于我的声望;) –