Версия wxPython: 4.0.3
Я хочу, чтобы мои радиокнопки в радиобоксе были в 3-5 раз больше в диаметре, чем на изображении ниже.
Я проверил:
Я пытался:
rbox = wx.RadioBox(self.panel, size = wx.Size(100, 100))
rbox(wx.Font(self.xs_font,wx.DEFAULT,wx.NORMAL,wx.NORMAL))
все это только изменяет размер поля с помощью радиокнопок, но не реальных радиокнопок
Но вроде не могу изменить размер кнопок
мой код:
rbox = wx.RadioBox(self.panel, size = wx.Size(100, 100),choices = ['off','on'],majorDimension = 1, style = wx.RA_SPECIFY_ROWS|wx.EXPAND|wx.ALIGN_CENTER)
sizer.Add(rbox , pos=(14, 8), span=(2,4), flag=wx.EXPAND|wx.ALIGN_CENTER, border=5)
rbox.Bind(wx.EVT_RADIOBOX,self.ToggleRBox)
rbox.SetFont(wx_m_font)
Ты прав. wx не позволяет изменять размер кнопок, только окно, в котором они находятся. Из документации:
size (wx.Size) – Window size. If wx.DefaultSize is specified then a default size is chosen.
Может попробовать tkinter? Он также не позволяет вам контролировать размер самой кнопки, но вы можете превратить все содержимое в кнопку, используя indicatoron=0
, размер которого вы управляете может. Надеюсь, это поможет.
from tkinter import *
root=Tk()
var=IntVar()
R1=Radiobutton(root, text='Off', variable=var, value=1, height=10, width=20
indicatoron=0)
R1.pack( anchor = W )
R2=Radiobutton(root, text='On', variable=var, value=2, height=10, width=20
indicatoron=0)
R2.pack( anchor = W )
label=Label(root)
label.pack()
root.mainloop()
@ Dispact 8 или вы действительно дали очень хороший ответ на мой первоначальный вопрос. Хотя это не помогло мне решить мою проблему, вы указали, что текущая реализация wxPython не поддерживает изменение размера кнопок.
@valentyn Да, это другой пакет. Документация Tkinter. Я просмотрел документацию по wx и не смог найти то, что вы искали. У меня есть небольшой опыт работы с tkinter, поэтому я придумал это «почти решение», используя то, что знал. Спасибо, что приняли мой ответ!