Russian Qt Forum
Ноябрь 27, 2024, 05:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Анимация цвета текста QLabel  (Прочитано 4166 раз)
pacahon
Гость
« : Сентябрь 14, 2010, 14:53 »

Как правильно реализовать плавную смену цвета текста у QLabel? Пробовал использовать QPropertyAnimation и менять свойство palette, но это не привело ни к каким результатам. GUI делаю с использованием PyQt. Вот код, который я пытался заставить работать (от C++ несильно отличается):
Код
Python
import sys
from PyQt4 import QtGui,QtCore
 
app = QtGui.QApplication(sys.argv)
 
widget = QtGui.QMainWindow()
text = QtGui.QTextEdit("Example",widget)
 
animation = QtCore.QPropertyAnimation(text, "palette")
animation.setDuration(1000)
pal = QtGui.QPalette()
pal.setColor(QtGui.QPalette.Text,QtGui.QColor(255,40,40))
animation.setEndValue(pal)
animation.start()
 
widget.show()
sys.exit(app.exec_())
 
P.S. Ещё небольшой вопрос:
Можно ли использовать нижеследующий код применительно для QLabel? И QLabel и QTextEdit наследуются от QWidget, который и обладает методом setPalette, но в случае с QTextEdit он работает, а вот применительно к QLabel у меня ничего не происходит (текст не меняет своего цвета).
Код
Python
...
text = QtGui.QTextEdit("Example",widget)
pal = QtGui.QPalette()
pal.setColor(QtGui.QPalette.Text,QtGui.QColor(255,40,40))
text.setPalette(pal)
 

Записан
An0TheR
Гость
« Ответ #1 : Сентябрь 28, 2010, 10:54 »

...
text = QtGui.QTextEdit("Example",widget)
pal = QtGui.QPalette()
pal.setColor(QtGui.QPalette.Text,QtGui.QColor(255,40,40))
text.setPalette(pal)
QtGui.QTextEdit.setText(text)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.174 секунд. Запросов: 21.