У меня есть OptionMenu и кнопка в соседних строках одного и того же столбца сетки. Я не хочу, чтобы сетка управляла размером этих виджетов, потому что она может сделать виджеты слишком широкими. Вместо этого я бы хотел, чтобы OptionMenu и Button имели фиксированный размер — максимальную ширину Button, ширину OptionMenu и ширину всех пунктов меню. Но у меня с этим проблемы.
Ширина и высота OptionMenu и Button изначально равны 1, поэтому сначала я должен связать , чтобы позволить геометрии сетки Менеджер сообщит мне желаемые размеры. Чтобы предотвратить бесконечный цикл, я немедленно отвязываю событие в обработчике.
Затем я могу вычислить ширину всех виджетов либо в пикселях, либо в текстовых единицах. Если я устанавливаю максимальную ширину в обработчике, я обнаруживаю, что «дескриптор» OptionMenu добавляет немного ширины, поэтому ширины кнопок и OptionMenu не совпадают.
Это вынуждает меня вкладывать друг в друга виджеты OptionMenu и Button внутри собственных фреймов (которые, в свою очередь, находятся внутри сетки). Затем я упаковываю OptionMenu и Button для расширения, но отключаю распространение пакетов в кадре. Идея состоит в том, чтобы установить ширину рамки и заставить вложенные виджеты расширяться до заполнения.
К сожалению, менеджер геометрии сетки сообщает моему обработчику, что OptionMenu и Button теперь запрашивают пространство размером 1x1 пиксель. , поскольку распространение пакетов отключено.
Далее я начал с нуля. Там, где будут OptionMenu и Button, я поместил фрейм с размахом строк, равным 2; Содержимое фрейма также управляется (вложенным) менеджером геометрии сетки. Рамка липкая="w"; он уменьшится, чтобы соответствовать своему содержимому. Содержимое липкое="ew"; они будут заполняться до одинакового размера.
Это работает хорошо, за исключением того, что там, где текст в столбцах одной строки будет иметь общую базовую линию, менеджер геометрии вложенной сетки не разделяет базовые линии с родительским менеджер геометрии сетки. Например, текст метки в первом столбце больше не имеет общей базовой линии с текстом OptionMenu во втором столбце. Вместо этого базовая линия текста метки в первом столбце теперь выровнена по нижней части меню OptionMenu.
Как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/790 ... tton-width
Соответствие OptionMenu и ширины кнопки ⇐ Python
Программы на Python
1727449471
Anonymous
У меня есть OptionMenu и кнопка в соседних строках одного и того же столбца сетки. Я не хочу, чтобы сетка управляла размером этих виджетов, потому что она может сделать виджеты слишком широкими. Вместо этого я бы хотел, чтобы OptionMenu и Button имели фиксированный размер — максимальную ширину Button, ширину OptionMenu и ширину всех пунктов меню. Но у меня с этим проблемы.
Ширина и высота OptionMenu и Button изначально равны 1, поэтому сначала я должен связать , чтобы позволить геометрии сетки Менеджер сообщит мне желаемые размеры. Чтобы предотвратить бесконечный цикл, я немедленно отвязываю событие в обработчике.
Затем я могу вычислить ширину всех виджетов либо в пикселях, либо в текстовых единицах. Если я устанавливаю максимальную ширину в обработчике, я обнаруживаю, что «дескриптор» OptionMenu добавляет немного ширины, поэтому ширины кнопок и OptionMenu не совпадают.
Это вынуждает меня вкладывать друг в друга виджеты OptionMenu и Button внутри собственных фреймов (которые, в свою очередь, находятся внутри сетки). Затем я упаковываю OptionMenu и Button для расширения, но отключаю распространение пакетов в кадре. Идея состоит в том, чтобы установить ширину рамки и заставить вложенные виджеты расширяться до заполнения.
К сожалению, менеджер геометрии сетки сообщает моему обработчику, что OptionMenu и Button теперь запрашивают пространство размером 1x1 пиксель. , поскольку распространение пакетов отключено.
Далее я начал с нуля. Там, где будут OptionMenu и Button, я поместил фрейм с размахом строк, равным 2; Содержимое фрейма также управляется (вложенным) менеджером геометрии сетки. Рамка липкая="w"; он уменьшится, чтобы соответствовать своему содержимому. Содержимое липкое="ew"; они будут заполняться до одинакового размера.
Это работает хорошо, за исключением того, что там, где текст в столбцах одной строки будет иметь общую базовую линию, менеджер геометрии вложенной сетки не разделяет базовые линии с родительским менеджер геометрии сетки. Например, текст метки в первом столбце больше не имеет общей базовой линии с текстом OptionMenu во втором столбце. Вместо этого базовая линия текста метки в первом столбце теперь выровнена по нижней части меню OptionMenu.
Как это исправить?
Подробнее здесь: [url]https://stackoverflow.com/questions/79031934/match-optionmenu-and-button-width[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия