[QT, C++] W jaki sposób z poziomu klasy dialogu odwołać się do klasy bazowej?
Ostatnio zmodyfikowano 2010-08-26 15:08
markon Temat założony przez niniejszego użytkownika |
» 2010-08-25 21:37:39 właśnie tak wczoraj próbowałem, ale otrzymywałem błąd parent->ui->statusBar->showMessage(""); //konstruktor klasy dialog
error: 'class QWidget' has no member named 'ui' |
|
DejaVu |
» 2010-08-25 21:56:22 To znaczy, że ta klasa nie ma zmiennej ui :) |
|
markon Temat założony przez niniejszego użytkownika |
» 2010-08-25 22:10:24 właśnie w tym problem że ma mainwindow.h private: // jak dam do public to samo Ui::MainWindow *ui; |
|
DejaVu |
» 2010-08-26 00:10:10 Jak by zmienna istniała to by waliło komunikatem 'cannot access private member'. Być może używasz nazwy klasy bazowej zamiast klasy pochodnej jeżeli stosujesz dziedziczenie. Dodam też, że do membera private nie powinieneś odwoływać się bezpośrednio tylko poprzez metody (o ile takie istnieją). |
|
markon Temat założony przez niniejszego użytkownika |
» 2010-08-26 11:45:46 do klasy MainWindow wrzuciłem publiczną metodę - z poziomu konstruktora klasy dialog nie widać jej. natomiast jeśli wywołam metodę close: parent->close(); //aplikacja zostanie zamknięta - czyli dla metoda close działa "Być może używasz nazwy klasy bazowej zamiast klasy pochodnej jeżeli stosujesz dziedziczenie." a dokładniej? bo nie bardzo rozumiem pozdrawiam, markon
|
|
DejaVu |
» 2010-08-26 14:33:22 class MojeBle : public QWidget { };
class CDialog { CDialog( MojeBle * bla ); }; |
|
markon Temat założony przez niniejszego użytkownika |
» 2010-08-26 15:08:29 faktycznie, teraz widzi dołączyłem mainwindow.h, a następnie Dialog(MainWindow *parent) teraz mogę odwołać się do metody, którą wcześniej pisałem w klasie MainWindow. wielkie dzięki za pomoc :) pozdrawiam, markon //edit otwieram bo mam inny błąd, teraz jest inny problem, a mianowicie Dialog( MainWindow * parent = 0 );
Dialog::Dialog( MainWindow * parent ) : QDialog( parent ) , ui( new Ui::Dialog )
error: expected ')' before '*' token
nie wiem jak poradzić sobie z tym błędem, czego on w ogóle dotyczy? |
|
1 « 2 » |