#python #qt #user-interface #pyqt4
#python #qt #пользовательский интерфейс #pyqt4
Вопрос:
Я просто создаю удаленное приложение с pyqt4. Итак, в пользовательском интерфейсе много css. Мне было интересно, как использовать внешние таблицы стилей, например, в веб-приложениях.
Например:
button_one.setStyleSheet("QPushButton { background-color:#444444; color:#ffffff; border: 2px solid #3d3d3d; width: 15px; height: 25px; border-radius: 15px;}"
"QPushButton:pressed { background-color:#ccc;}")
Instead of the above code
button_one.setStyleSheet("QPushButton.styleclass or #styleid")
Ответ №1:
Нет необходимости устанавливать таблицу стилей для каждого виджета. Просто установите одну таблицу стилей для всего приложения:
stylesheet = """
QPushButton#styleid {
background-color: yellow;
}
QPushButton.styleclass {
background-color: magenta;
}
QPushButton {
color: blue;
}
"""
QtGui.qApp.setStyleSheet(stylesheet)
Идентификатор qss виджета может быть указан с помощью setObjectName
:
button_one.setObjectName('styleid')
Класс qss может быть указан с помощью setProperty
:
button_two.setProperty('class', 'styleclass')
Для других селекторов qss см. раздел Типы селекторов в документах Qt.
Комментарии:
1. Это было полезно и для меня — я не знал, что мы можем использовать свойство set .
Ответ №2:
Прохладный. Большое вам спасибо за ваш ответ. Это помогло мне окончательно разделить мои стили 🙂
Просто определил все стили моих приложений во внешнем файле и связал на требуемой странице. styleFile = «styles/remote.stylesheet» с открытым (styleFile, «r») как fh: self.setStyleSheet(fh.read())