wie kann ich in einem selbsterstelltem Qlabel malen?
Verfasst: 3. März 2007 12:44
hallo,
der aufruf eines Qlabels ist kein problem...
auch malen kann ich darin...
hier ein beispiel:
----------------------------------------------------------------------------------
#include <QtGui>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QRect rect(0,0,100,100);
QPixmap pm(rect.size());
pm.fill();
QPainter p(&pm);
QPainter q(&pm);
QPainter r(&pm);
QBrush brush(Qt::blue);
p.setBrush(brush);
q.setBrush (Qt::red);
r.setBrush (Qt::yellow);
QRect ra = rect.adjusted (10,90,-10,-0);
p.drawRect(ra);
QRect rb = rect.adjusted (20,80,-20,-10);
r.drawRect(rb);
QRect rc = rect.adjusted (30,70,-30,-20);
q.drawRect(rc);
QLabel l;
l.setPixmap(pm);
l.show();
return app.exec();
}
------------------------------------------------------------------------------------
nun habe ich jedoch ein Mainwindow, indem nun 3 QLabels erstellt
worden sind...
leider kann ich jetzt zb das "label01" nicht ansprechen,
bzw nicht in dem Qlabel malen...
ich habe in der generierten ui datei folgendes geschrieben...
label01->setPixmap(QPixmap());
nun müsste doch ein pixmap in "label01" vorhanden sein, oder ?
in meinem konstruktor TURM.CPP habe ich nun versucht die grösse
von "label01" an Qpixmap zu übergeben...
QPixmap pm(label01.size);
pm.fill();
desweiteren würde ich auch gern das label.show irgendwie weglassen,
da ich es in meinen methoden ja nicht jedesmal angeben kann...
es müsste doch irgendwie gehen, dass ich drei Qlabels in meinem MainWindow per QT-Designer positioniere, und dann in einer methode auf eines der Labels zugreife und sage, mal mir ein rechteck rein......
diese sache beschäftigt mich schon seit tagen...
ich danke vielmals für jede hilfe....
der aufruf eines Qlabels ist kein problem...
auch malen kann ich darin...
hier ein beispiel:
----------------------------------------------------------------------------------
#include <QtGui>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QRect rect(0,0,100,100);
QPixmap pm(rect.size());
pm.fill();
QPainter p(&pm);
QPainter q(&pm);
QPainter r(&pm);
QBrush brush(Qt::blue);
p.setBrush(brush);
q.setBrush (Qt::red);
r.setBrush (Qt::yellow);
QRect ra = rect.adjusted (10,90,-10,-0);
p.drawRect(ra);
QRect rb = rect.adjusted (20,80,-20,-10);
r.drawRect(rb);
QRect rc = rect.adjusted (30,70,-30,-20);
q.drawRect(rc);
QLabel l;
l.setPixmap(pm);
l.show();
return app.exec();
}
------------------------------------------------------------------------------------
nun habe ich jedoch ein Mainwindow, indem nun 3 QLabels erstellt
worden sind...
leider kann ich jetzt zb das "label01" nicht ansprechen,
bzw nicht in dem Qlabel malen...
ich habe in der generierten ui datei folgendes geschrieben...
label01->setPixmap(QPixmap());
nun müsste doch ein pixmap in "label01" vorhanden sein, oder ?
in meinem konstruktor TURM.CPP habe ich nun versucht die grösse
von "label01" an Qpixmap zu übergeben...
QPixmap pm(label01.size);
pm.fill();
desweiteren würde ich auch gern das label.show irgendwie weglassen,
da ich es in meinen methoden ja nicht jedesmal angeben kann...
es müsste doch irgendwie gehen, dass ich drei Qlabels in meinem MainWindow per QT-Designer positioniere, und dann in einer methode auf eines der Labels zugreife und sage, mal mir ein rechteck rein......
diese sache beschäftigt mich schon seit tagen...
ich danke vielmals für jede hilfe....