-
1. Data: 2009-11-10 14:23:27
Temat: QT namespace
Od: Paweł <ppf9@USUN_TOpoczta.fm>
Witam wszystkich
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
-
2. Data: 2009-11-10 14:32:56
Temat: Re: QT namespace
Od: Paweł <ppf9@USUN_TOpoczta.fm>
Sorry, nie tu chcialem wyslac ;-). Jakby sie jednak ktos znalazl, kto by
dpowiedzail, to bede wdzieczny. Jak cos, to wyslalem to na grupe
pl.comp.lang.c
-
3. Data: 2009-11-10 16:43:29
Temat: Re: QT namespace
Od: ArO <a...@g...com>
On 10 Lis, 15:23, Paweł <ppf9@USUN_TOpoczta.fm> wrote:
> Witam wszystkich
>
> Mam sobie kod zrobiony prez QTCreator i mam pewien problem ze
> zrozumieniem jednej rzeczy.
>
> ========================
> private:
> Ui::MainWindow *ui;
> ========================
specjalista od C nie jestem... ale na chlopski rozum to jest wskaznik
na obiekt, a nie sam obiekt :)
-
4. Data: 2009-11-11 03:09:24
Temat: Re: QT namespace
Od: Mateusz Loskot <s...@s...net>
Paweł wrote:
> Witam wszystkich
>
> 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,
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
-
5. Data: 2009-11-11 13:06:28
Temat: Re: QT namespace
Od: Paweł <ppf9@USUN_TOpoczta.fm>
Mateusz Loskot wrote:
>> Po pierwsze, jak mozna tworzyc obiekt(ta linijka powyzej chyba tworzy
>> obiekt) wewnatrz klasy,
>
> 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();
> };
OK, tutaj, to rzeczywiscie moja nieuwaga. Za krotko chyba spalem ;), ale
co do tego drugiego, to nadal nie rozumie za bardzo.
>
>> 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ł
-
6. Data: 2009-11-11 14:14:55
Temat: Re: QT namespace
Od: "Mateusz Loskot" <m...@l...net>
"Paweł" <ppf9@USUN_TOpoczta.fm> wrote in message
news:hdecsr$ldu$1@inews.gazeta.pl...
> Mateusz Loskot wrote:
>> "Paweł" <ppf9@USUN_TOpoczta.fm> wrote:
>>> 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?
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
-
7. Data: 2009-11-12 00:42:36
Temat: Re: QT namespace
Od: Paweł <ppf9@USUN_TOpoczta.fm>
Mateusz Loskot wrote:
> "Paweł" <ppf9@USUN_TOpoczta.fm> wrote in message
> news:hdecsr$ldu$1@inews.gazeta.pl...
>> Mateusz Loskot wrote:
>>> "Paweł" <ppf9@USUN_TOpoczta.fm> wrote:
>>>> 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?
>
> 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.
Wygląda na to, że będę musiał się bliżej przyjrzeć tym bebechom QT.
>
>> 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&h
ot=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++.
-
8. Data: 2009-11-12 12:32:59
Temat: Re: QT namespace
Od: "Mateusz Loskot" <m...@l...net>
"Paweł" <ppf9@USUN_TOpoczta.fm> wrote in message
news:hdflmi$80$1@inews.gazeta.pl...
> 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&h
ot=1
> Mam do niej dostęp i chciałem się spytać, czy warta jest ona czytania?
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=se
arch&rid=696
http://accu.org/index.php?module=bookreviews&func=se
arch&rid=504
i to również:
http://www.angelikalanger.com/Articles/Reviews/Lippm
anPrimer/review.htm
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