2016-03-04 77 views
1

我在框架本身有一個帶有標題(問卷)的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腳本本身作爲標籤?

如果問題不是那麼清楚的話,我們應該考慮一下!

回答

0

我會嘗試在主要調用下放置「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) 

希望它有幫助!

+0

立即工作。乾杯! – Treeno1

+0

太棒了!很高興它的工作。你能把這個標記爲正確的答案(它旁邊的綠色複選標記),以便其他人知道,並且這將有助於我的聲望;) –

相關問題