[問題] 請問關於tkinter的問題

作者: alubasteve (poorguy)   2019-06-08 18:36:27
我目前正在學習使用tkinter
來練習製作選單排版
有2個問題想請教
1.我一直想要夠更好的調整排版
可是一直做不好
因為當我這樣做時
https://pastebin.com/fg1fVW4W
結果變成
https://imgur.com/a/6HOlQBH
不知為何push2還有push3
就是沒辦法整齊地擠在push1下面
然後左右兩側切齊
請問怎麼做才好
2.我正在照書上的寫程式
https://pastebin.com/mqE05F0M
書上沒有講
請問第4行radio_value.set(1)
最後的1
指的是程式要從第幾個選項呈現嗎
https://imgur.com/a/7tltSAS
也就是一開始黑點要從哪個選項出現
1代表從第1個選項B套餐出現
因為前面還有第0個選項A套餐
書上沒講清楚所以我只好用猜的
我也有試著去調整
但是我唯一讓程式一跳出來就沒黑點的方法是數字超過3
也就是讓黑點跳出預設選項範圍
請問我還能怎麼做
作者: bugbug777 (sil)   2019-06-08 20:37:00
Youtube搜tkinter 那個Proladon我看過應該可以幫到你
作者: alubasteve (poorguy)   2019-06-08 21:07:00
請問您指的是這位嗎?https://reurl.cc/2OKDn
作者: fp563563 (娃娃臉)   2019-06-08 22:12:00
row=列 column=行 but2和but3都是row=1 會放在同一列改 button3.grid(row=2,column=0)button4.grid(row=3,column=0)
作者: alubasteve (poorguy)   2019-06-08 23:14:00
給fp563563,我就是希望按鈕能夠呈現第一層button1第2層button2+button3,第3層button4因為若能夠呈現這樣的編排,以後能夠有更好的視覺效果不然以後選單會越拉越長不知道您能給我什建議呢
作者: fp563563 (娃娃臉)   2019-06-09 00:59:00
看錯意思..不然試看看 加跨行參數 columnspanbutton1 button4 加上跨兩行 columnspan=2
作者: alubasteve (poorguy)   2019-06-09 07:32:00
多謝fp563563,程式改成https://pastebin.com/pu2L4KxA之後,就會變成https://imgur.com/a/g5jSNeQ但是我把button2和button3的寬度width都改成14因為都是15的話,反而最後button3會凸出來,也就是說設定的寬度不等於實際的寬度,事實上button2也突出來了我本來想要設定寬度是有小數點的,結果不行不過都用14的話button3會凹進去一點,其中一個寬度寬度15另一個14的話,也只是讓button3凸出來變小https://imgur.com/a/RnAwJKk看來排版真是神奇的學問,真是不好處理
作者: art1 (人,原來不是人)   2019-06-09 09:31:00
一定要用 grid 嗎?不能用 pack?把 btn1 跟 btn4 加上 padx = 1,然後2 跟 3設成 14 跟 15看起來就有對齊了或是四個按鈕寬度都設成 15,btn1 跟 btn4 加上 ipad = 5padx 跟 ipadx 都是加在 grid() 的參數裏面
作者: alubasteve (poorguy)   2019-06-09 15:44:00
給art1,謝謝你的提點,https://pastebin.com/iLEcKn9a是可以的,請問是否是因為padx = 1使實際上button1和4右邊多出1像素的空間,所以就不會像之前這樣凸出來https://imgur.com/a/YBqmb5j上面是改正版,另外我也有加上ipad = 5,但是會出問題https://pastebin.com/hbC3gGvz行不通會告知https://pastebin.com/LgrVuHAe,請問我哪邊做錯我也有用pack,但是失敗https://pastebin.com/F62uErqr結果變成https://imgur.com/a/8XBy94Y不知為何button4沒有換行到下面去,反而跟button2和button3擠在一起
作者: art1 (人,原來不是人)   2019-06-09 22:12:00
是 ipadx,不是 ipad原來是我打錯 = =|||為按鈕設定的寬度都會再被加上陰影像素的部份,當你在同一列塞兩個按鈕,陰影像素的寬度就是一個按鈕的兩倍,所以只能靠調整 padx 或 ipadx 寬度來達到看起來一樣寬的效果用 pack 的話,是寫成這樣 https://pastebin.com/D673nPk7最主要就是要新增一個容器把兩個要併排的按鈕包起來
作者: alubasteve (poorguy)   2019-06-09 23:59:00
給art1,我試過了,https://pastebin.com/8tRGDKuy結果就會貼齊https://imgur.com/a/Vj64zMC請問這是否因為ipadx些微的放大button1和4的外部尺寸所以就可以貼齊,只是padx和ipadx我反而不大懂https://purpen.iteye.com/blog/74830https://reurl.cc/qqX2p講的我看不懂何謂內部間距ipadx要表達的意義,相對的padx外部間距我還可以理解另外我也要坦承我pack沒用過Frame,看起來是為了把button2+3擠在同一個地方,也就是你講的容器只是這樣一來,我還要去探究您寫的「fill = 'both', expand = True」請問目的是把button1和4都能夠在XY軸都填滿處理嗎至於button2+3我看不出用意何在, 也不懂為何都是tk.LEFT都靠左,我以為應該一左一右會比較適合
作者: art1 (人,原來不是人)   2019-06-10 00:37:00
你可以自己嘗試把那些參數都去掉,或改成你想要的看看效果
作者: alubasteve (poorguy)   2019-06-10 07:56:00
多謝,我會再多嘗試,謝謝你的建議

Links booklink

Contact Us: admin [ a t ] ucptt.com