Форум сайта python.su
Подскажите пожалуста как задать фоновый цвет для QTextEdit
Офлайн
lineEdit.setStyleSheet('background-color: yellow')
Просвящайся насчет style sheets
Офлайн
появилось несколько проблем :O :
class textView(QtGui.QTextEdit):
def __init__(self, parent=None):
super(QtGui.QTextEdit, self).__init__(None)
self.setAcceptRichText(False)
self.setFont (QtGui.QFont("Monotype Corsiva", 16))
self.setStyleSheet("color: white;"
"background-color: black;"
"selection-color: black;"
"selection-background-color: white;")
Офлайн
Сразу предупреждение, не используйте по крайней мере сейчас новостильную функцию super по отношению к объектам PyQt. Дело в том, что в PyQt очень много классов и для ускорения импорта модулей они используют “ленивую” технику загрузки инстансов аттрибутов в соответствующие словари. В таком случае аттрибуты класса могут быть не доступны во время выполнения и вы получите AttributeError, хотя они действительно имплементированы:) Но, т.к. вы итак не знаете что это такое, замените super(QtGui.QTextEdit, self).__init__(None) на QtGui.QTextEdit.__init__(self, None).
Второе, в Qt не рекомендуется смешивать разные способы стилизации виджетов: или используйте StyleSheet на полную, либо изменяйте палетту и остальное, доступное через встроенные методы классов. Иначе будут проблемы.
from PyQt4 import QtGui
styles = ‘'’
QTextEdit {
font: bold 16pt Monotype Corsiva;
color: white;
background-color: black;
selection-color: black;
selection-background-color: white;
}
'''
class textView(QtGui.QTextEdit):
def __init__(self, parent=None):
QtGui.QTextEdit.__init__(self, None)
self.setAcceptRichText(False)
self.setStyleSheet(styles)
app = QtGui.QApplication()
w = textView()
w.show()
app.exec_()
Отредактировано (Март 31, 2008 16:25:25)
Офлайн
Большое спасибо poltergeist, всё работает! :D
Офлайн