ورود

View Full Version : سوال: Opacity اشیاء



alamate_aoal
شنبه 12 شهریور 1390, 22:58 عصر
با متد setWindowOpacity میشه transparecy فرم(پنجره)ها رو کم و زیاد کرد .
این متد روی اشیایی مثل Label و ... کار نمیکنه. چطور میشه transparecy اشیاء را تغییر داد؟
با تشکر

.:saeed:.
یک شنبه 13 شهریور 1390, 20:04 عصر
سلام
ببینید در Qt Graphics Framework افکت های زیر وجود داره که میشه اونا رو به هر QGraphicsItem ای نسبت داد:
QGraphicsOpacityEffect : برای تعیین میزان شفافیت
QGraphicsDropShadowEffect : برای سایه دادن
QGraphicsBlurEffect : برای بلور کردن و...
نکته جالب اینه که کلاس QWidget هم تابع زیر رو داره ( همون تابعی که یه QGraphicsItem داره )
void QWidget::setGraphicsEffect ( QGraphicsEffect * effect )
پس کد زیر رو امتحان کنید


QLabel *lbl = new QLabel("Qt is fun!Qtut.mihanblog.com");
hlay->addWidget(lbl);
QGraphicsOpacityEffect * eff = new QGraphicsOpacityEffect;
eff->setOpacity(0.5);
lbl->setGraphicsEffect(eff);