wieso soll QLineEdit->text kein QString sein?

Alles rund um die Programmierung mit Qt
Antworten
mikro
Beiträge: 60
Registriert: 19. April 2006 09:23
Wohnort: Erlangen
Kontaktdaten:

wieso soll QLineEdit->text kein QString sein?

Beitrag von mikro »

hi,
ich habe div. QLineEdits in meinem Widget, die im Designer erzeugt wurden. In der automatisch erzeugten ui_OpenProjectDialog.h steht auch, wie erwartet:

Code: Alles auswählen

class Ui_OpenProjectDialog
{
public:
    QLineEdit *LE_Pass;
    QLineEdit *LE_User;
  usw...
in der davon abgeleiteten Klasse probiere ich ff:

Code: Alles auswählen

	QString user    = LE_User->text;
	QString pass    = LE_Pass->text;
Der Compiler beschwert sich:
ui\OpenProjectDialog.cpp:105: error: conversion from `<unknown type>' to non-scalar type `QString' requested
ui\OpenProjectDialog.cpp:106: error: conversion from `<unknown type>' to non-scalar type `QString' requested
ich verstehe das nicht: wieso ist das LE_User->text kein QString ??
Emperor_L0ser
Beiträge: 51
Registriert: 28. Juli 2005 12:26
Kontaktdaten:

Beitrag von Emperor_L0ser »

häng mal ein paar klammern hinter "text" :lol:

mfg Emperor_L0ser
mikro
Beiträge: 60
Registriert: 19. April 2006 09:23
Wohnort: Erlangen
Kontaktdaten:

Beitrag von mikro »

wieso? ist doch ein laut Klassenreferenz ein Property und keine Funktion?
[EDIT:]stimmt tatsächlich: mit text() akzeptiert ers, aber wieso?
Emperor_L0ser
Beiträge: 51
Registriert: 28. Juli 2005 12:26
Kontaktdaten:

Beitrag von Emperor_L0ser »

mikro hat geschrieben:wieso? ist doch ein laut Klassenreferenz ein Property und keine Funktion?
na dann lies nochmal genau durch. aus dem assitenten kopiert. text ist vielleicht ein Property, aber garantiert privat, damit nimand drin rum pfuscht.

QString QTextEdit::text () const

Returns all the text in the text edit as plain text.

See also setText().

wenn du Qt4 Programmierst, solltest du es übrigens nicht mehr benutzen, ist nur noch für Qt3 kompatibilität drin. nimm eher
QString toHtml () const
oder
QString QTextEdit::toPlainText () cons
mikro
Beiträge: 60
Registriert: 19. April 2006 09:23
Wohnort: Erlangen
Kontaktdaten:

Beitrag von mikro »

danke, die könnten ruhig mal gross reinschreiben, was private ist . :roll:
Aber es bleibt bei text() : ist ein QLineEdit und kein QTextEdit.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Das wäre doch auch kein guter Programmierstil, öffentliche Variablen in einer Klasse zu verwenden, stimmt's?

MfG
Emperor_L0ser
Beiträge: 51
Registriert: 28. Juli 2005 12:26
Kontaktdaten:

Beitrag von Emperor_L0ser »

nein, wäre es nicht, wenn jemand was von aussen verändern darf, gibt es dafür get und set methoden

das ganz nennt sich datenkapselung

mfg Emperor_L0ser
Antworten