Problem mit Zeichnen und Frage zu msgBox [gelöst}]

Verschiedenes zu Qt
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Problem mit Zeichnen und Frage zu msgBox [gelöst}]

Beitrag 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
Zuletzt geändert von Qt-nator am 23. April 2008 14:06, insgesamt 1-mal geändert.
dontinelli
Beiträge: 146
Registriert: 22. September 2006 20:53

Beitrag von dontinelli »

Das mit der Messagebox hatten wir glaube ich gerade kürzlich (Forensuche?). AboutQt ist m.W. keine Messagebox, sondern ein QDialog.
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Von QDialog ableiten und Texte setzen - was ist da so schwer?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag 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.
Zuletzt geändert von Qt-nator am 22. April 2008 13:48, insgesamt 1-mal geändert.
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

HTML Text anzeigen.. Wobei eine eigene Klasse von der QDialog-Klasse abzuleiten die bessere Methode wäre.
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag 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.
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag 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?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn dir schon C++-Grundlagen fehlen, dann probier es wenigstens selbst aus...
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag 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?
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag 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.
Zuletzt geändert von Qt-nator am 23. April 2008 13:42, insgesamt 1-mal geändert.
Antworten