Qt Creator - usuwanie kontrolki

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
mathieus
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 26 lut 2007, 22:57
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Qt Creator - usuwanie kontrolki

Post autor: mathieus »

Witam!
Korzystam z Qt Creator 1.2.1, Based on Qt 4.5.2 (32 bit). Piszę program z interfejsem GUI (wbudowany Designer). Gdy kontrolka posiada slot przypisany do funkcji, usuwanie kontrolki (bądź zmiana objectName), powoduje niemożność działania programu i blokuje dalsze programowanie. Konsola daje błąd:

Kod: Zaznacz cały

The program has unexpectedly finished. /home/mathieus/Pulpit/wcom/wcomguik/wcomguik/wcomguik/wcomguik exited with code 0 
Dotyczy to dowolnej kontrolki: QButton, QmenuBar, Q3Table. Próbowałem dodawać nową kontrolkę z tą samą nazwą, grzebałem w pliku .moc, od dwóch dni szukam rozwiązania na różnych forach...
... z góry dziękuję za pomoc ...
Mateusz
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Qt Creator - usuwanie kontrolki

Post autor: mikolajs »

To usuń połączenie (metoda connect ), a najlepiej nie definiuj połączeń w designerze tylko bezpośrednio w kodzie w specjalnie napisanej do tego metodzie, którą uruchomisz w konstruktorze i wtedy masz kontrolę, widzisz co połączyłeś.
mathieus
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 26 lut 2007, 22:57
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: Qt Creator - usuwanie kontrolki

Post autor: mathieus »

Dzięki mikolajs. Problem w tym, że designer nie definiuje metody connect, tylko:

Kod: Zaznacz cały

QMetaObject::connectSlotsByName(wcomguik); 
w pliku ui_wcomgouik.h
zaś ze slotów usunięta jest dana metoda - więc powinno działać wszystko dobrze (być może Qt Creator popełnia błąd w innym miejscu).

Faktycznie, mikolajs, pewnie powinienem "definiować połączenia bezpośrednio w kodzie", jednak problem może nadal się pojawiać: wystarczy że myszka kliknie kilka razy za dużo i... nie wiadomo jak to naprawić bez tworzenia gui od nowa.

EDIT:
Przepraszam za posta - wszystko gra. Na usprawiedliwienie dam, że "błądzić jest rzeczą ludzką". Wystarczyło prześledzić kod i wyłapać błędy.

Swoją drogą - Qt Designer wymaga ostrożności, skoro już drugi raz wprowadził mi zmiany w kodzie. Za pierwszym razem usunął mi linijkę kodu inicjującą liczbę kolumn, za drugim - usunął plik który program ładował przy starcie.

Jeszcze raz przepraszam i dziękuję za uwagę.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość