seltsames verhalten von meinem qt project
-
ich habe dieses schöne qt buch, in dem steht das...
007 void SortDialog::setColumnRange(QChar first, QChar last) 008 { 009 primaryColumnCombo->clear(); 010 secondaryColumnCombo->clear(); 011 tertiaryColumnCombo->clear(); 012 secondaryColumnCombo->insertItem(tr("None")); 013 tertiaryColumnCombo->insertItem(tr("None")); 014 primaryColumnCombo->setMinimumSize( 015 secondaryColumnCombo->sizeHint()); 016 QChar ch = first; 017 while (ch <= last) { 018 primaryColumnCombo->insertItem(ch); 019 secondaryColumnCombo->insertItem(ch); 020 tertiaryColumnCombo->insertItem(ch); 021 ch = ch.unicode() + 1; 022 } 023 }
#include <qapplication.h> #include "sortdialog.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); SortDialog *dialog = new SortDialog; app.setMainWidget(dialog); dialog->setColumnRange(’C’, ’F’); dialog->show(); return app.exec(); }
und deswegen hab ich das gleich mal selber einbauen wollen...
und zwar so:void haus::setUserEdit() { useredit->setText(tr("xxxxxx")); //tr() = translation keyedit->setText(tr("xxxxxx.xxxx")); }
int main( int argc, char ** argv ) { KCmdLineArgs::init(argc, argv, "...", "...", "0.1"); KApplication app; haus window; app.setMainWidget(&window); window->setUserEdit(); window.show(); app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) ); return app.exec(); }
mit dem ergebnis:
main.cpp: In function `int main(int, char**)': main.cpp:14: Warnung: »init« ist veraltet (deklariert bei /usr/include/kcmdlineargs.h:260) main.cpp:19: Fehler: base operand of `->' has non-pointer type `haus' make: *** [.obj/main.o] Fehler 1
weiß einer was ich falsch gemacht habe?
-
window ist ein haus und kein haus *. Folglich ist window.setUserEdit() korrekter.
-
stimmt, dumm von mir