2016-10-01 1 views
0

В PyQt стандартным образом для установки стилей, как это:явно задает таблицу стилей в python pyqt4?

MainWindow.setStyleSheet(_fromUtf8("/*\n" 
"gridline-color: rgb(85, 170, 255);\n" 
"QToolTip\n" 
"{\n" 
" border: 1px solid #76797C;\n" 
" background-color: rgb(90, 102, 117);;\n" 
" color: white;\n" 
" padding: 5px;\n" 
" opacity: 200;\n" 
"}\n" 
"#label_3{\n" 
" background-color:rgb(90, 102, 117);\n" 
" color:white;\n" 
" padding-left:20px;\n" 
" \n" 
"}\n" 
"#label_2{\n" 
" color:white;\n" 
" padding-left:20px;\n" 
" \n" 
"}\n" 

Но, как мы связываем таблицу стилей в HTML <link rel="stylesheet" href="style.css"> .can't мы делаем то же самое в PyQt Это помогает в организации дела?.

+0

Возможный дубликат: http://stackoverflow.com/questions/22504421/pyqt-how-to-apply-style-sheet-to-a-custom-widget –

+0

Каким образом этот дубликат? – kragor

+0

@ kragor. Я думаю, что Лоран предлагал вам сделать вещи намного проще, если бы вы использовали тройные кавычки. – ekhumoro

ответ

3

В настоящее время существует только два основных способа установки таблицы стилей. Во-первых, использовать setStyleSheet метод:

widget.setStyleSheet(""" 
    QToolTip { 
     border: 1px solid #76797C; 
     background-color: rgb(90, 102, 117); 
     color: white; 
     padding: 5px; 
     opacity: 200; 
    } 
    """) 

Это будет только взять строку, так что внешний ресурс необходимо будет явно прочитать из файла или импортированы из модуля.

Второй способ заключается в использовании -stylesheet command-line argument, что позволяет внешний QSS ресурс, который будет указан в качестве пути:

python myapp.py -stylesheet style.qss 

Это открывает возможность заманчивым хак, так как он достаточно легко манипулировать в арг передается QApplication конструктора, и явно вставить таблицу стилей по умолчанию:

import sys 

args = list(sys.argv) 
args[1:1] = ['-stylesheet', 'style.qss'] 

app = QtGui.QApplication(args) 

(Установка дополнительных аргументов в начале списка гарантирует, что все еще возможно для пользователя о verride по умолчанию со своей собственной таблицей стилей).

Смежные вопросы