[问题] 请问关于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