Seite 1 von 2
Problem mit Zeichnen und Frage zu msgBox [gelöst}]
Verfasst: 22. April 2008 09:07
von Qt-nator
Morgen,
also ich möchte in einem Widget 2 Linen Zeichnen die das Widget dann quasi in 4 gleichgroße Teile aufteilen. Wenn ich einen speziele eingabe mache werden über dem Widget 4 weitere Widgets erstellt. Diese genau so angeordnet sind. Mein Problem ist jetzt das ich trotz zeichnen der Linen keine Line seh. Vieleicht mach ich da ja auch einen entscheidenden feher.
Ich probiers gerade so:
Code: Alles auswählen
m_pPlot1->setGeometry(0,0,width()/2. - 1,height()/2.);
m_pPlot1->show();
m_pPlot2->setGeometry(width()/2. + 1,0,width()/2., height()/2.);
m_pPlot2->show();
m_pPlot3->setGeometry(0,height()/2. + 1,width()/2. -1 , height()/2.);
m_pPlot3->show();
m_pPlot4->setGeometry(width()/2. + 1,height()/2. + 1,width()/2.,height()/2.);
m_pPlot4->show();
painter.drawLine(0,height()/2.,m_dWidth,height()/2.);
painter.drawLine(width()/2.,0,width()/2.,m_dHeight);
}
Die + 1 und - 1 sind dafür da das ein Abstand zwischen den Widgets besteht damit man die Line sieht.
Wäre nett wenn mir da jemand helfen könnte.
Und dann noch kann man in eine QMessageBox eigentlich ein Bild (png) einfügen? so wie bei der AboutQt???
Gruß
Qt-nator
Verfasst: 22. April 2008 09:43
von dontinelli
Das mit der Messagebox hatten wir glaube ich gerade kürzlich (Forensuche?). AboutQt ist m.W. keine Messagebox, sondern ein QDialog.
Verfasst: 22. April 2008 11:56
von Qt-nator
Ich hab jetzt mal so angefangen.
Code: Alles auswählen
QDialog About(this);
About.setWindowTitle(tr("Titel"));
About.exec();
Nur weis ich jetzt nicht wie ich Text, Bild und Button reinbekommen soll.
Verfasst: 22. April 2008 13:17
von Christian81
Von QDialog ableiten und Texte setzen - was ist da so schwer?
Verfasst: 22. April 2008 13:26
von Qt-nator
Ist doch schon ein QDialog????
Du meinst ich soll ne neue Klasse schreiben und die von QDialog ableiten oder?
... geht das nicht einfacher?
Da komm ich jetzt nicht ganz mit kann mir das vieleicht jemand nochmal genauer erklären? Mit dem ableiten.
Verfasst: 22. April 2008 13:47
von PeterLustig
HTML Text anzeigen.. Wobei eine eigene Klasse von der QDialog-Klasse abzuleiten die bessere Methode wäre.
Verfasst: 22. April 2008 13:52
von Qt-nator
Im Prinzip brauch ich ein About. Mit Bild, Text und Button.
Da wäre dann von QDialog ableiten die besste möglichkeit?
Könnt ihr mir das kurz mal veranschaulichen?
Verfasst: 22. April 2008 14:06
von Christian81
Qt-nator hat geschrieben:
Könnt ihr mir das kurz mal veranschaulichen?
Schonmal was von C++ gehört? Klassen und Vererbung und so??
Wir sind hier ein
Qt-Forum, kein 'C++ in 21 Tagen' - Forum!
Verfasst: 22. April 2008 14:39
von PeterLustig
Ich sag es immer wieder und werd es wohl auch immer wieder sagen...
Wenn man mit einem Framework wie Qt arbeiten möchte, sollte man die Sprache die benutzt wird bereits beherrschen. Meinetwegenn lass die Kenntnisse über die STL weg, aber man sollte doch wenigstens die C++ Grundkenntnisse beherrschen.
Verfasst: 23. April 2008 08:38
von Qt-nator
Ich hab halt noch nie von QDialog abgeleitet.
Aber kann ich nicht einfach von QWidget ableiten? Weil QDialog ist doch auch von QWidget abgeleitet?
würde das funktioniern?
Verfasst: 23. April 2008 09:14
von upsala
Wenn dir schon C++-Grundlagen fehlen, dann probier es wenigstens selbst aus...
Verfasst: 23. April 2008 09:50
von Qt-nator
Ich habs jetzt versucht. Und mit QWidget klappts nur bei QDialog bekomme ich immer einen Compilerfehler C2664.
Da schein ich was falsch zu machen. Würdet ihr mir da helfen wenn ich den Code Poste oder schließen meine fehlenden C++ Grundkenntnisse das aus?
Verfasst: 23. April 2008 10:03
von Christian81
Ohne Code können wir Dir ja sicherlich schlecht helfen, oder? C2664 sagt mir eigentlich nur dass Du irgendwo einen falschen Typ als Übergabeparameter übergibst.
Verfasst: 23. April 2008 10:52
von PeterLustig
Qt-nator hat geschrieben:Ich hab halt noch nie von QDialog abgeleitet.
Aber kann ich nicht einfach von QWidget ableiten? Weil QDialog ist doch auch von QWidget abgeleitet?
würde das funktioniern?
Von _jeder_ Klasse leitet man gleich ab. Warum holst du dir nicht mal ein C++ Buch und liest das erst einmal durch?
Verfasst: 23. April 2008 13:38
von Qt-nator
Code: About.h
Code: Alles auswählen
#ifndef __ABOUT_H__
#define __ABOUT_H__
#include <QtGui>
#include <QtGui/QDialog>
class About : public QDialog
{
Q_OBJECT
public:
About(QDialog *parent = 0);
protected:
private:
};
#endif // __ABOUT_H__
About.cpp
Code: Alles auswählen
#include <QtCore/QRegExp>
#include <QtCore/QVector>
#include <QtGui>
#include <QtGui/QDialog>
#include "About.h"
About::About(QWidget *parent): QDialog(parent)
{
setBackgroundRole(QPalette::Base);
setAutoFillBackground(true);
}
Ja und wenn ich alle QDialog durch QWidget ersetze um von QWidget abzuleiten dann gehts ja auch nur mit QDialog gehts nicht und ich krieg fehlermeldung.
Was dem ja irgendwie wiederspricht das man alle gleich ableitet.
Wäre für hilfe sehr verbunden.