ich versuche mit drawText() einen Text auszugeben.
Müsste das nicht ganz einfach mit
QPainter *mytext;
mytext=new QPainter(this)
mytext->drawText(123,45,"test");
gehen?
Oder geht das ganz anders? (Sorry, mein erstes QT-Programm... )
drawtext
-
- Beiträge: 7
- Registriert: 22. Oktober 2004 15:47
Re: drawtext
Jo das geht damit schon. Is zwar recht minimal, aber geht.d3m0nxxl hat geschrieben:ich versuche mit drawText() einen Text auszugeben.
Müsste das nicht ganz einfach mit
QPainter *mytext;
mytext=new QPainter(this)
mytext->drawText(123,45,"test");
gehen?
Du solltest das dann wohl nur noch in dein entsprechendes paintEvent packen.
Goos
Re: drawtext
Ich glaub, genau das ist mein Problem und wahrscheinlich was ganz triviales...Goos hat geschrieben: Du solltest das dann wohl nur noch in dein entsprechendes paintEvent packen.
Der Text soll in meinem Mainwidget(?) (bestehend aus einer Tabelle, Popup-Menu, Pushbuttons, und viel freier Fläche ) angezeigt werden.
Bei den Pushbuttons konnte ich das ja einfach z.B. per
saveFilesButton = new QPushButton("Save Files",this,"save files");
saveFilesButton->move(200,75);
erledigen.
"this" wäre doch in meinem Fall mein Paintevent bzw. parent-widget, oder?
deswegen war ich davon ausgegangen, dass das bei QPainter analog gehen würde:
mytext=QPainter(this);
Leider wird nix angezeigt, und beim schliessen des Programms erhalte ich folgende Fehlermeldung:
QWidget (unnamed): deleted while being painted
QPaintDevice: Cannot destroy paint device that is being painted
Hallo d3..ichkanndichnichtschreiben
du versuchst einfach in irgendeiner Methode zu zeichnen, was ansich auch funktioniert, aber beim naechsten repaint schon wieder uebermalt wird.
Deshalb musst eine paintEvent Methode in deinem MainWidget implementieren, mit der du paint Events empfangen kannst.
Das schaut in deinem Fall dann etwa folgendermassen aus:
Goos
du versuchst einfach in irgendeiner Methode zu zeichnen, was ansich auch funktioniert, aber beim naechsten repaint schon wieder uebermalt wird.
Deshalb musst eine paintEvent Methode in deinem MainWidget implementieren, mit der du paint Events empfangen kannst.
Das schaut in deinem Fall dann etwa folgendermassen aus:
Code: Alles auswählen
void MainWidget::paintEvent(QPaintEvent * event)
{
QPainter *mytext;
mytext=new QPainter(this) ;
mytext->drawText(10,10,"test");
}
-
- Beiträge: 40
- Registriert: 4. Oktober 2004 16:26