Путевые заметки в процессе познания Python и PyQt/PySide.
Помни - только тег CODE не портит код добавлением пробела в начало пустой строки.
Помни - только тег CODE не портит код добавлением пробела в начало пустой строки.
К вопросу о "дарах данайцев"...
Запись от iamvic размещена 18.06.2023 в 15:59
Показов 1229
Комментарии 0
Тема, начатая в заметке К вопросу о локализации приложений PyQt, всё-таки потребовала продолжения. Огромное спасибо коллеге vic5710, написавшему замечательный код Рисование в отдельном окне по параметрам, заданным в текстовых окнах, работающий практически везде (и под Windows, и под MacOs, и под Linux разных сортов), за одним найденным исключением - он абсолютно неработоспособен под OpenSUSE ![]() Чтобы разобраться с тем, что там происходит, был написан такой простенький демонстратор: gift_probe.py
Оказывается, что под OpenSUSE вызов метода QPushButton.text() может возвращать совсем не тот текст, который ранее был использован при вызове метода QPushButton.setText() для данного экземпляра класса QPushButton. Для получения такого эффекта достаточно, чтобы текст содержал символы латиницы, и тогда система сама умело украсит его вставкой символа "амперсанд" в какую-то позицию строки, чтобы обеспечить возможность быстрого доступа к данному виджету с помощью комбинации клавиш Alt+буква_латиницы. Прилагаемые картинки иллюстрируют процесс (под рукой как раз была старенькая OpenSUSE 42.3 и что-то мне подсказывает, что и в актуальной 15.4 дела обстоят не лучше): текст нажатой кнопки не содержит латиницы текст нажатой кнопки содержит латиницу нажата клавиша Alt (появились подчёркивания под клавишами быстрого доступа) Вопрос "Что с этим делать?" требует дальнейшего осмысления. Ну и проверить надо, что там Qt Designer творит в таких условиях. Сериал будет продолжен... | |||||
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии



