QWT Dial und Visual Studio 2008

Gast #3400004
Lesenswert?
• ▲
▼
Hallo alle zusammen,


ich habe folgende Problem:
Programmiertools: Visual Studio 2008 mit qt dazu(qwt).
Ich versuche in einem QWTDial einen Text zu schreiben (seh bitte 
Anhang).

In der erste Anhang "Test_dial.png" ist das Dial ohne Text und in der 
zweite Anhang ""Test_dial_2.png" ist mit dem Text, die ich meine.

Meine Frage wie kann ich das machen, um dieses Text so genau geschrieben 
zu bekommen.
Ich habe versucht durch einen Label durch den QT Designer reinzufügen, 
aber das ist nicht der Richtige Weg.
Der Grösse des Dials verändert sich aber leider der Text nicht.


Für jeden Tipps bin ich sehr dankbar.
Angehängte Dateien:
Gast #3400598
Lesenswert?
• ▲
▼
Danke für die Antwort. Das werde ich noch schauen wie ich das ambesten 
machen kann.
Eine andere Frage:

Kann ich in der Dial einen Grenzwert setzen z.B: wenn ich die 15 
erreiche,  der Rand Rot wird (so quasi wie im Auto)?

Danke in voraus.
Gast #3401322
Lesenswert?
• ▲
▼
Auch da würd ich sagen - paintEvent überladen und in Abhängigkeit des 
aktuellen Wertes mit QWidget::setPalette() die gewünschte Farbe setzen. 
Wenn Du da was spezielles haben willst, wirst Du aber wohl an den 
Qwt-code ran müssen, siehe drawContents().
Gast #3401684
Lesenswert?
• ▲
▼
So in der Art...
1
class MyDial: public QWTDial
2
{
3
public:
4
...
5

6
protected:
7
   void paintEvent(QPaintEvent *e);
8
};
9

10
void MyDial::paintEvent(QPaintEvent *e);
11
{
12
   // Dein code...
13
   // z.B.:
14
   if(...)// Bedingung für andere Farbe
15
   {
16
      QPalette p = this->palette();
17
      p.setColor(QPalette::WindowText, Qt::red);
18
      this->setPalette(p);
19
   }
20

21
   QWTDial::paintEvent(e);
22
}
Gast #3401988
Lesenswert?
• ▲
▼
Hallo,


@pks

Danke danke für die Tipps.
Es hat mich sehr viel geholfen.
Mit der Farben habe ich hin gekriegt.
Nur mit der oben gennate Problem komme ich nicht weiter.
Ich weiss es nicht wie soll ich den Tabs mit dem Text setzen.
Das QwtDial habe ich mit dem Designer gemacht..


Wenn du mir noch einen Tipps gibt, bin ich sehr dankbar.


Danke in Voraus.
Gast #3402945
Lesenswert?
• ▲
▼
Hab ich das richtig verstanden - Du hast ein Label eingefügt, aber 
sobald die Größe des Dial geändert wird passt die Position nicht mehr?

Ich nehme an Du möchtest, dass sich Größe und Postion des Textes bei 
Größenänderung automatisch mit ändern? Dann würde ich vielleicht den 
Text eher als Bild ins Label einfügen (QLabel->setPixmap()). Damit das 
Label seinen Inhalt automatisch skaliert musst Du 
setScaledContents(true) setzen.

Im ResizeEvent dein Dial müsstest Du dann in Abhängigkeit der Dial-Größe 
die Größe und Postion des Labels berechnen un setzen.
Gast #3403061
Lesenswert?
• ▲
▼
Hallo und danke für die Antwort.
Ich habe versucht einen Label in der Dial reinzusetzen aber sobald ich 
die Grösse sich ändert, ist der Label nicht mehr zentriert.
Ich möchte dieses Label nicht mehr mit dem Designer reinfüfen sondern 
Codetechnik.

Die Frage ist : wie mache ich das am besten.
Ich stehe vor dieses Problem seit 2 Tage und komme nicht weiter ...
Gast #3403919
Lesenswert?
• ▲
▼
An sich sollte es doch auch möglich sein, dem QwtDial ein Layout zu 
geben, wo man dann sein(e) Childwidget(s) und ein paar Spacer einfügt. 
Um das passende Verschieben kümmert sich dann das Layout.
Gast #3403923
Lesenswert?
• ▲
▼
Rolf Magnus schrieb:
> An sich sollte es doch auch möglich sein, dem QwtDial ein Layout zu
> geben, wo man dann sein(e) Childwidget(s) und ein paar Spacer einfügt.
> Um das passende Verschieben kümmert sich dann das Layout.

Stimmt, das wäre wohl der Einfachste Weg.

@Maxim Ein kleines Beispielprojekt wäre hilfreich...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren