Snaqu Napisano Sierpień 15, 2009 Zgłoszenie Share Napisano Sierpień 15, 2009 Witam! Otóż nie potrafię wyświetlić nowego okna które stworzyłem poprzez przycisk pushButton. Próbowałem sposobu poprzez np. Okno_dodaj.show() lecz to także nie działało. Niby includowałem pliki, które zawierają deklaracje okien itd. lecz kicha. Czy ktoś by mógł nakierować na właściwą drogę? Nie chcę gotowego rozwiązania lecz wskazanie właściwej drogi. Projekt do wglądu poniżej (używam QT Creator'a) http://dl.getdropbox.com/u/1402090/test123.tar.gz Dopiero zaczynam przygodę z QT4 więc proszę o zrozumienie. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
moorray Napisano Sierpień 15, 2009 Zgłoszenie Share Napisano Sierpień 15, 2009 Hmmm... Bardzo chciałbym Cię naprowadzić (wędka, wędka, wędka! ryby śmierdzą ), ale nie za bardzo wiem jak. Przydałaby się lepsza znajomość C++, napiszę krótki opis, mam nadzieję, że niezbyt zagmatwany i mimo wszystko podam gotowy kod, nie musisz go czytać jeśli nie chcesz... Na początek... musisz mieć co pokazywać. Do sygnału click() musisz przyłączyć funkcję pokazującą okno, zadeklarowałeś ją prawidłowo. Funkcja on_pushButton_clicked() zostanie wywołana po naciśnięciu przycisku. Jeśli chcesz wyświetlić okno (rozumiem, że reprezentowane przez klasę Dodaj_Okno), musisz jednak utworzyć jego instancję. Poprawiony kod: mainwindow.h: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QtGui/QMainWindow> #include "okno_dodaj.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; Okno_dodaj *okno; // Deklaracja wskaźnika do obiektu private slots: void on_pushButton_clicked(); }; #endif // MAINWINDOW_H mainwindow.cpp: #include "mainwindow.h" #include "ui_mainwindow.h" #include "okno_dodaj.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); okno = new Okno_dodaj(); // Alokacja } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { okno->show(); // Pokazujesz } Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Snaqu Napisano Sierpień 15, 2009 Autor Zgłoszenie Share Napisano Sierpień 15, 2009 Thx, wiem, że mój c++ nie jest jeszcze zbyt dobrze opanowany, a w szczególności obiekty, ale do rzeczy. Próbowałem najpierw wg. twoich wskazówek lecz zapomniałem zadeklarować, tak jak ty napisałeś w przykładnie "Deklaracja wskaźnika do obiektu". Ale po spojrzeniu na twój kod udało się =) Wielkie dzięki za pomoc! Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się