PDA

View Full Version : سوال: با وجود کامپایل شدن و اجرا شدن کد رنگ پس زمینه قرمز نمیشه؟



motherboard
شنبه 21 تیر 1393, 00:58 صبح
سلام.کدی که در زیر می بینید صحیح وسالم است و به درستی کامپایل و حتی اجرا می شود.اما من تو کد اوردم که تمام صفحه قرمز بشه.اما نمیشه و یک صفحه سیاه میاره!!!! البته این درسته که راه های مختلفی برای این کار وجود داره.اما سوال من اینه که چرا با وجود صحیح بودن کد انتظاری که از کد میره براورده نمیشه؟؟؟؟؟:متفکر: بیشتر تمایل دارم دوستان راجع به همین کد نظرشون رو بگن و تذکر بدهند که چه موردی رو رعایت نکردم. الان من این کد رو با استفاده از توابعی که داخل مستندات کیوت هست نوشتم.اما اینکه چرا هردمبیلی اجرا میشه برام جای سواله؟؟؟:متفکر: لطفا دوستان همراهی کنند.:تشویق:


#include <QApplication>
#include <QtWidgets>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QLabel l;
QPixmap pm(500,500);
QPainter painter(&pm);
QColor color;
color.setRed(255);
painter.setPen(color);
l.setPixmap(pm);
l.show();
return app.exec();
}



فایل pro:

QT += gui core widgets
SOURCES += \
main.cpp

parvizwpf
شنبه 21 تیر 1393, 01:58 صبح
pm.fill(Qt::red);

motherboard
شنبه 21 تیر 1393, 09:15 صبح
دوباره ادیتور هنگ کرده!!!! الان کدی که گذاشتی خیلی به هم ریخته است.و من چیزی ازش متوجه نشدم.هر کدی رو که می خوای تو بخش کیوت بذاری رو اول توی notepad ویندوز کپی کن و بعد از طریق notepad داخل تگ سی پلاس پلاس paste کن.

حامد مصافی
شنبه 21 تیر 1393, 13:19 عصر
شما رنگ brush شی painter رو ست کردید،‌ اما از این رنگ استفاده نکردید چون هیچ ترسیمی صورت نگرفته. از یکی از متد‌های QPixmap::fill یا QPainter::fillRect استفاده کنید. ضمناً برای رنگ‌های پایه مانند قرمز در فضای اسمی Qt ثابتی تعریف شده:

QColor red = Qt::red;