Fragen bezüglich QPainter...
Verfasst: 11. April 2006 08:44
Hallo,
ich möchte ein eigenes Widget nachprogrammieren (eine abgespeckte QTextEdit). Nun habe ich schon mal die ersten Versuche gestartet, habe aber ein paar Fragen bezüglich dem Zeichnen eines Fenster und QPainter:
Meine Fragen:
1. Ich habe die Methode paintEvent in meiner Unterklasse überschrieben. Da erzeuge ich bei jedem Aufruf ein QPainter-Object.
Ist das jetzt sinnvoll? Kann man den QPainter nicht auch als member einmal anlegen? Wie wird das "in der Praxis" gemacht? Ich weiß, dass z. B. in der WinAPI der DeviceContext jedes mal angelegt wird, wenn WM_PAINT ausgelöst wurde.
2. Ich habe versucht, von einer anderen Methode aus, eine Zeichenoperation zu starten. Da habe ich halt dort ein QPainter erzeugt und ein paar Zeichenoperationen gemacht.
ABER: Es hatte keinerlei Auswirkungen gehabt. Wieso? Kann ich nicht einfach beliebig ins Fenster reinzeichnen?
3. Wenn ich in einer QTextEdit mit gedrückter linker Maustaste über den Text fahre, dann wird ja dieser Textabschnitt markiert. Wie könnte man sowas realisieren?
So, für's erste bin ich fertig. Hoffentlich könntet Ihr mir ein paar Tipps geben.
MfG, Alci.
ich möchte ein eigenes Widget nachprogrammieren (eine abgespeckte QTextEdit). Nun habe ich schon mal die ersten Versuche gestartet, habe aber ein paar Fragen bezüglich dem Zeichnen eines Fenster und QPainter:
Meine Fragen:
1. Ich habe die Methode paintEvent in meiner Unterklasse überschrieben. Da erzeuge ich bei jedem Aufruf ein QPainter-Object.
Code: Alles auswählen
void paintEvent(QPaintEvent* pEvent)
{
QPainter Painter;
Painter.begin(this);
//meine Zeichenoperationen
Painter.end();
}
2. Ich habe versucht, von einer anderen Methode aus, eine Zeichenoperation zu starten. Da habe ich halt dort ein QPainter erzeugt und ein paar Zeichenoperationen gemacht.
ABER: Es hatte keinerlei Auswirkungen gehabt. Wieso? Kann ich nicht einfach beliebig ins Fenster reinzeichnen?
3. Wenn ich in einer QTextEdit mit gedrückter linker Maustaste über den Text fahre, dann wird ja dieser Textabschnitt markiert. Wie könnte man sowas realisieren?
So, für's erste bin ich fertig. Hoffentlich könntet Ihr mir ein paar Tipps geben.
MfG, Alci.