Q_PROPERTY und QStringList

Alles rund um die Programmierung mit Qt
Antworten
Nannette
Beiträge: 2
Registriert: 13. Juni 2005 15:26

Q_PROPERTY und QStringList

Beitrag von Nannette »

Hallo,

ich habe Probleme, in meinem selber erstellten Widget ein Property vom Typ QStringList richtig zu verwenden. Zwar wird die QStringList mit all ihren Items richtig in eine ComboBox in den Property-Editor im QT-Designer geladen, allerdings kann ich anschließend keines dieser Items auswählen. Wie erfahre ich, dass ein neues Item aus der QStringList ausgewählt wurde??? Übrigens habe ich den Qt-Designer 3.3.4...

Quellen:

class QLabel;
class myOutputField : public QLabel{

Q_OBJECT

Q_PROPERTY( QStringList tName READ tName WRITE setTName DESIGNABLE true )

public:
myOutputField( QWidget *parent = 0, const char *name = 0);
~myOutputField();

QStringList tName() const;

public slots:
void setTName(const QStringList &l);

private:
QStringList testName;
};

QStringList myOutputField::tName() const{
return testName;
}

void myOutputField::setTName(const QStringList &l){
testName = l;
}

Danke für jede Idee...
paulchen
Beiträge: 8
Registriert: 14. Februar 2005 17:14
Wohnort: München

Beitrag von paulchen »

Ein Label kann nun mal nur einen string darstellen. Es hat keine Möglichkeit, mit stringlists umzugehen.
Vielleicht schwebt Dir ein ganz bestimmtes Widget vor, das ist mit dem QLabel aber sicher nicht verwandt.

cu
paulchen
Nannette
Beiträge: 2
Registriert: 13. Juni 2005 15:26

Beitrag von Nannette »

Danke erst einmal...

Ich glaube, ich habe da etwas nicht richtig verstanden: Ich will ja auch keine Liste auf dem Label darstellen, sondern ich möchte zu meinem Label ein Property haben, mit dem ich im QT-Designer aus einer Liste einen bestimmten Wert (=String) auswählen kann. Leider ist die Liste zur Compile-Zeit noch nicht bekannt (da würde ich ja einfach einen enum verwenden) sondern ich möchte die aus einer Datei auslesen.

Gibt es sonst noch andere Möglichkeiten, dies zu realisieren, außer mit einem Q_PROPERTY vom Typ QStringList?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Mh, wer soll den hier eigentlich was verstehen?

Wenn du einem Element einen Wert zuweisen willst, dann tue das einfach.

guiElement -> setText( list[ id ] );

Am besten wäre es, du schreibst einmal kurz und knapp, aber vollständig, was du willst. Nicht herumreden, nur Fakten.
Antworten