2014-07-08 205 views
0

當我執行下面的代碼時,到目前爲止唯一的問題是顯示的畫布只能容納我的「Go」按鈕和我的列表框,而我試圖設置外圍width=700height=200。我如何調整代碼以使其畫布始終彈出至確定的尺寸?畫布大小調整

import tkinter 

def main(): 
    root = tkinter.Tk() 
    cv = tkinter.Canvas(root, width=700, height=200) 
    cv.pack() 

    root.title("Shakespeare Word Generator") 

    g = tkinter.Button (cv,text ="Go", command = calculate_go) 

    g.pack() 

    Lb1 = tkinter.Listbox(cv, height=5, width=15) 
    Lb1.insert(1, "Noun ") 
    Lb1.insert(2, "Verb") 
    Lb1.insert(3, "Adjective") 
    Lb1.insert(4, "Adverb") 

    Lb1.pack() 

def calculate_go(): 
    print ("Finding Word...") 


tkinter.mainloop() 

if __name__ == "__main__": 
    main() 
+0

第一:你爲什麼把'Button'和'ListBox'上'Canvas' - 'Canvas'是相當的圖像 - 用'Frame'或放該小部件直接在'root'上。在'pack()'中使用第二個參數。您也可以嘗試設置窗口大小。 – furas

回答

-1

你爲什麼把ButtonListboxCanvas
畫布相當於圖像 - 使用Frame或將該小部件直接放在根上。

我不使用Canvas在我的例子

使用root.geometry('700x200')設置窗口大小。

如果您需要它,您可以使用pack(fill=tk.X)來調整窗口小部件的大小。

pack()可以做更多這樣瞭解Pack/Grid/Place Geometry Manager

import tkinter as tk 

def calculate_go(): 
    print ("Finding Word...") 

def main(): 

    root = tk.Tk() 
    root.title("Shakespeare Word Generator") 
    root.geometry('700x200') 

    g = tk.Button (root,text ="Go", command = calculate_go) 
    g.pack(fill=tk.X) 

    Lb1 = tk.Listbox(root, height=5, width=15) 
    Lb1.insert(1, "Noun ") 
    Lb1.insert(2, "Verb") 
    Lb1.insert(3, "Adjective") 
    Lb1.insert(4, "Adverb") 

    Lb1.pack() 

    tkinter.mainloop() 


if __name__ == "__main__": 
    main()