#python #macos #pyqt #pyside2
#python #macos #pyqt #pyside2
Вопрос:
У меня есть несколько скриптов с небольшими графическими интерфейсами, написанных с помощью PySide2. Многие из них имеют части с отдельными таблицами стилей виджетов и не читаются в темном режиме macOS.
Поэтому вместо обновления графических интерфейсов я бы хотел полностью отключить темный режим для определенных скриптов.
Я знаю о Info.plist
настройке, но это неприменимо для отдельных скриптов python, только для замороженных и связанных приложений. Также я не нашел способа использовать светлую палитру по умолчанию. Какие-либо подсказки?
Ответ №1:
Ну, вы могли бы определить свою собственную таблицу стилей в таблице стилей QMainWindow:
stylesheet = """
* {
color: #000000;
background-color: #FFFFFF;
}
QLabel {
color: #000000;
background-color: #FFFFFF;
}
QPushButton {
color: #000000;
background-color: #FFFFFF;
}
etc.
"""
window.setStyleSheet(stylesheet)
и если вы хотите, чтобы это происходило только на macOS:
from sys import platform as _platform
if(_platform=='darwin'):
window.setStyleSheet(stylesheet)
Комментарии:
1. Тогда что, если ОС не находится в темном режиме при запуске и / или режим меняется во время работы программы?
2. @musicamante Таблица стилей приложения всегда будет одинаковой (в данном случае черный текст поверх белого). Это не влияет на изменение темы, потому что таблица стилей перезаписывает ее.