Mam sobie kod zrobiony prez QTCreator i mam pewien problem ze
zrozumieniem jednej rzeczy.
========================
private:
Ui::MainWindow *ui;
========================
Po pierwsze, jak mozna tworzyc obiekt(ta linijka powyzej chyba tworzy
obiekt) wewnatrz klasy, nie dajac "static const".
Po drugie, jak mozna tworzyc obiekt klasy MainWindow? skoro jestesmy
wewnatrz tej klasy. Jezeli juz sie chce tworzyc cos takiego, to czy nie
powinno byc cos w rodzaju "this *ui"
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
namespace Ui {
class MainWindow;
}
class MainWindow : public QWidget {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
specjalista od C nie jestem... ale na chlopski rozum to jest wskaznik
na obiekt, a nie sam obiekt :)
To nie jest obiekt, ale *wska�nik* na obiekt klasy MainWindow kt�ra
zdefiniowana jest w przestrzeni nazw Ui.
> nie dajac "static const".
A co ma piernik do wiatraka?
struct A {};
struct B
{
A a; // obiekt klasy A
void foo();
};
> Po drugie, jak mozna tworzyc obiekt klasy MainWindow? skoro jestesmy
> wewnatrz tej klasy. Jezeli juz sie chce tworzyc cos takiego, to czy nie
> powinno byc cos w rodzaju "this *ui"
>
> #ifndef MAINWINDOW_H
> #define MAINWINDOW_H
>
> #include <QWidget>
>
> namespace Ui {
> class MainWindow;
> }
>
> class MainWindow : public QWidget {
> Q_OBJECT
> public:
> MainWindow(QWidget *parent = 0);
> ~MainWindow();
>
> protected:
> void changeEvent(QEvent *e);
>
> private:
> Ui::MainWindow *ui;
> };
>
> #endif // MAINWINDOW_H
MainWindow a Ui::MainWindow two dwie r�ne klasy.
Pozdrawiam
--
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org
>
>> Po drugie, jak mozna tworzyc obiekt klasy MainWindow? skoro jestesmy
>> wewnatrz tej klasy. Jezeli juz sie chce tworzyc cos takiego, to czy nie
>> powinno byc cos w rodzaju "this *ui"
>>
>> #ifndef MAINWINDOW_H
>> #define MAINWINDOW_H
>>
>> #include <QWidget>
>>
>> namespace Ui {
>> class MainWindow;
>> }
>>
>> class MainWindow : public QWidget {
>> Q_OBJECT
>> public:
>> MainWindow(QWidget *parent = 0);
>> ~MainWindow();
>>
>> protected:
>> void changeEvent(QEvent *e);
>>
>> private:
>> Ui::MainWindow *ui;
>> };
>>
>> #endif // MAINWINDOW_H
>
> MainWindow a Ui::MainWindow two dwie r�ne klasy.
A moglbys cos wiecej o tym powiedziec, bo chyba nie lape.
Skoro to sa dwa rozne obiekty, to gdzie to MainWindow z namespace
zostalo zadeklarowane? Ja myslalem, ze to jest wlasnie MainWindow
deklarowane w miejscu "class MainWindow : public QWidget {".
Czy to namespace, to nie dziala podobnie do klas, czy struktur, ktore
enkapsuluja jakies dane?
Pozdrawiam
Paweďż˝
Klasa w przestrzeni Ui jest generowana przez uic, doczytaj wi�cej w manualy
Qt
http://doc.trolltech.com/4.5/porting4-designer.html
> Ja myslalem, ze to jest wlasnie MainWindow deklarowane w miejscu "class
> MainWindow : public QWidget {".
Nie jest. To tylko koincydencja nazw - MainWindow.
> Czy to namespace, to nie dziala podobnie do klas, czy struktur, ktore
> enkapsuluja jakies dane?
Dzia�a podobnie, ale inaczej. Poleci�bym co� do C++
http://pl.cpp.wikia.com/wiki/FAQ#.22Jak.C4.85_ksi.C4.85.C5.BCk.C4.99_polecacie.3F.22
Pozdrawiam
--
Mateusz Loskot, http://mateusz.loskot.net
pl.comp.lang.c FAQ: http://pl.cpp.wikia.com/wiki/FAQ
C++ FAQ: http://parashift.com/c++-faq-lite
>
>> Czy to namespace, to nie dziala podobnie do klas, czy struktur, ktore
>> enkapsuluja jakies dane?
>
> Dzia�a podobnie, ale inaczej. Poleci�bym co� do C++
>
> http://pl.cpp.wikia.com/wiki/FAQ#.22Jak.C4.85_ksi.C4.85.C5.BCk.C4.99_polecacie.3F.22
Skoro mi ju� polecasz ksi��ki, to mia�e� mo�e styczno�� z ksi��k�
"Podstawy j�zyka C++" -
http://www.wnt.pl/product.php?action=0&prod_id=282&hot=1
Mam do niej dost�p i chcia�em si� spyta�, czy warta jest ona czytania? w
por�wnaniu do Symfonii C++(tej starej i nowej, czyli wersji Standard) i
Pasjii C++.
Nie czyta�em jej, ale �ledz� inne �rod�a autorstwa Lippman'a
wi�c og�lnie poleci�bym go jako autora. Co do w/w ksi��ki
konkretnie, to mo�e ACCU review pomo�e:
http://accu.org/index.php?module=bookreviews&func=search&rid=696
http://accu.org/index.php?module=bookreviews&func=search&rid=504
i to r�wnie�:
http://www.angelikalanger.com/Articles/Reviews/LippmanPrimer/review.htm