看板 Python 關於我們 聯絡資訊
我目前正在學習使用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 也就是讓黑點跳出預設選項範圍 請問我還能怎麼做 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.237.211 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1559990191.A.F30.html
bugbug777: Youtube搜tkinter 那個Proladon我看過應該可以幫到你 06/08 20:37
alubasteve: 請問您指的是這位嗎?https://reurl.cc/2OKDn 06/08 21:07
fp563563: row=列 column=行 but2和but3都是row=1 會放在同一列 06/08 22:12
fp563563: 改 button3.grid(row=2,column=0) 06/08 22:13
fp563563: button4.grid(row=3,column=0) 06/08 22:14
alubasteve: 給fp563563,我就是希望按鈕能夠呈現第一層button1 06/08 23:14
alubasteve: 第2層button2+button3,第3層button4 06/08 23:15
alubasteve: 因為若能夠呈現這樣的編排,以後能夠有更好的視覺效果 06/08 23:20
alubasteve: 不然以後選單會越拉越長 06/08 23:20
alubasteve: 不知道您能給我什建議呢 06/08 23:21
fp563563: 看錯意思..不然試看看 加跨行參數 columnspan 06/09 00:59
fp563563: button1 button4 加上跨兩行 columnspan=2 06/09 01:00
alubasteve: 多謝fp563563,程式改成https://pastebin.com/pu2L4KxA 06/09 07:32
alubasteve: 之後,就會變成https://imgur.com/a/g5jSNeQ 06/09 07:34
alubasteve: 但是我把button2和button3的寬度width都改成14 06/09 07:36
alubasteve: 因為都是15的話,反而最後button3會凸出來,也就是說 06/09 07:39
alubasteve: 設定的寬度不等於實際的寬度,事實上button2也突出來了 06/09 07:41
alubasteve: 我本來想要設定寬度是有小數點的,結果不行 06/09 07:42
alubasteve: 不過都用14的話button3會凹進去一點,其中一個寬度 06/09 07:49
alubasteve: 寬度15另一個14的話,也只是讓button3凸出來變小 06/09 07:52
alubasteve: https://imgur.com/a/RnAwJKk 06/09 07:52
alubasteve: 看來排版真是神奇的學問,真是不好處理 06/09 07:53
art1: 一定要用 grid 嗎?不能用 pack? 06/09 09:31
art1: 把 btn1 跟 btn4 加上 padx = 1,然後2 跟 3設成 14 跟 15 06/09 10:06
art1: 看起來就有對齊了 06/09 10:06
art1: 或是四個按鈕寬度都設成 15,btn1 跟 btn4 加上 ipad = 5 06/09 10:09
art1: padx 跟 ipadx 都是加在 grid() 的參數裏面 06/09 10:09
alubasteve: 給art1,謝謝你的提點,https://pastebin.com/iLEcKn9a 06/09 15:44
alubasteve: 是可以的,請問是否是因為padx = 1使實際上button1和4 06/09 15:46
alubasteve: 右邊多出1像素的空間,所以就不會像之前這樣凸出來 06/09 15:47
alubasteve: https://imgur.com/a/YBqmb5j 06/09 15:49
alubasteve: 上面是改正版,另外我也有加上ipad = 5,但是會出問題 06/09 15:54
alubasteve: https://pastebin.com/hbC3gGvz行不通 06/09 15:54
alubasteve: 會告知https://pastebin.com/LgrVuHAe,請問我哪邊做錯 06/09 15:55
alubasteve: 我也有用pack,但是失敗https://pastebin.com/F62uErqr 06/09 16:04
alubasteve: 結果變成https://imgur.com/a/8XBy94Y 06/09 16:07
alubasteve: 不知為何button4沒有換行到下面去,反而跟button2和 06/09 16:08
alubasteve: button3擠在一起 06/09 16:09
art1: 是 ipadx,不是 ipad 06/09 22:12
art1: 原來是我打錯 = =||| 06/09 22:12
art1: 為按鈕設定的寬度都會再被加上陰影像素的部份,當你在同一列 06/09 22:14
art1: 塞兩個按鈕,陰影像素的寬度就是一個按鈕的兩倍,所以只能靠 06/09 22:15
art1: 調整 padx 或 ipadx 寬度來達到看起來一樣寬的效果 06/09 22:16
art1: 用 pack 的話,是寫成這樣 https://pastebin.com/D673nPk7 06/09 22:59
art1: 最主要就是要新增一個容器把兩個要併排的按鈕包起來 06/09 23:01
alubasteve: 給art1,我試過了,https://pastebin.com/8tRGDKuy 06/09 23:59
alubasteve: 結果就會貼齊https://imgur.com/a/Vj64zMC 06/10 00:01
alubasteve: 請問這是否因為ipadx些微的放大button1和4的外部尺寸 06/10 00:03
alubasteve: 所以就可以貼齊,只是padx和ipadx我反而不大懂 06/10 00:07
alubasteve: https://purpen.iteye.com/blog/74830 06/10 00:08
alubasteve: https://reurl.cc/qqX2p講的我看不懂何謂內部間距 06/10 00:09
alubasteve: ipadx要表達的意義,相對的padx外部間距我還可以理解 06/10 00:13
alubasteve: 另外我也要坦承我pack沒用過Frame,看起來是為了把 06/10 00:18
alubasteve: button2+3擠在同一個地方,也就是你講的容器 06/10 00:20
alubasteve: 只是這樣一來,我還要去探究您寫的 06/10 00:27
alubasteve: 「fill = 'both', expand = True」請問目的是把 06/10 00:31
alubasteve: button1和4都能夠在XY軸都填滿處理嗎 06/10 00:33
alubasteve: 至於button2+3我看不出用意何在, 也不懂為何都是 06/10 00:34
alubasteve: tk.LEFT都靠左,我以為應該一左一右會比較適合 06/10 00:35
art1: 你可以自己嘗試把那些參數都去掉,或改成你想要的看看效果 06/10 00:37
alubasteve: 多謝,我會再多嘗試,謝謝你的建議 06/10 07:56