Próbuję stworzyć prosty procesor tekstu dla początkujących, aby nieco lepiej nauczyć się Pythona.Jak zatrzymać zmianę rozmiaru widgetu Tkinter Text przy zmianie czcionki?
Używam widżet Tkinter Text
dla głównego programu do edycji, jedynym problemem jest wysokość i szerokość są zdefiniowane przez bohaterów.
Powoduje to problem podczas zmiany czcionek, ponieważ nie wszystkie czcionki mają tę samą szerokość.
Za każdym razem, gdy zmienia się czcionka, widżet Tekst ponownie zmienia rozmiar, chociaż technicznie ma tę samą szerokość i wysokość. To wygląda śmiesznie, gdy próbuję coś napisać, staram się, aby edytor tekstu był jak najbardziej niezawodny.
Czy istnieje sposób definiowania szerokości i wysokości w pikselach?
the .grid_propagate(False)
nie jest przydatny, ponieważ rozmiar nie zmienia się technicznie, tylko szerokość znaku.
Na razie próbuję trzymać się z dala od wxPython
, ponieważ wszystko, co zrobiłem do tej pory, było w Tkinter.
Zrobiłem nieskończone godziny obszernego wyszukiwania, ale nie znalazłem żadnych rozwiązań.
ja odnoszę się do grid_propagate nie pracuje z widgetu tekstowego. Technicznie działa, ale nadal się rozwija, ponieważ jego szerokość jest w postaciach, a więc pozostaje taka sama w postaciach, ale nie wszystkie wielkości postaci są takie same. Widżet tekstowy nie wypełnia całego okna, chciałem, aby było miejsce na dodanie przycisków później. Problem polega na tym, że widżet "Tekst" zmienia rozmiar, aby spełnić wymagania każdej czcionki. Wygląda to głupio, kiedy coś piszesz i zmieniasz czcionkę oraz widzisz rozszerzenie i kontraktowanie widżetu. – reallycoolnerd
@reallycoolnerd: Przykro mi, ale błędnie mówisz o 'grid_propagate'. Nie ma to nic wspólnego z atrybutem size, ma to związek z rzeczywistym rozmiarem widgetu. Jeśli możesz pokazać kod, w którym próbujesz użyć 'grid_propagate' i to nie działa, możemy to naprawić. Wygląda na to, że nie rozumiesz, w jaki sposób działa 'grid_propagate'. Zdajesz sobie sprawę, że musisz zadzwonić do rodzica? Nie ma efektu wywoływania 'grid_propagate' na samym widgecie tekstowym. –
@reallycoolnerd: czy coś w tym przykładzie jest dla ciebie mylące? Przykład wyraźnie pokazuje, w jaki sposób mogę ustawić rozmiar widgetu tekstowego w pikselach, ustawiając rozmiar jego kontenera i wyłączając propagację geometrii. Być może, jeśli potrafisz wyjaśnić, dlaczego nie rozumiesz tego przykładu, mogę wymyślić, jak to poprawić. –