Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[QT] zmiany nazwy przycisku z poziomu innego pliku cpp

Ostatnio zmodyfikowano 2017-11-05 17:58
Autor Wiadomość
Szybki_Jakub
Temat założony przez niniejszego użytkownika
[QT] zmiany nazwy przycisku z poziomu innego pliku cpp
» 2017-11-05 11:19:56
Witam wszystkich, poszukuje rozwiązania następującego problemu:
potrzebuję zamienić nazwę przycisku z poziomu innego pliku cpp, jak wiadomo w pliku mainwindow(głównym) zamiana wygląda następująco:
C/C++
ui->pushButton->setText( "abc" );
Ja posiadam drugi plik(który jest nowym wątkiem ale to bez znaczenia) z którego poziomu chciałbym zmienić nazwę tego pzycisku znajdującego się w oknie mainwindow. Zadanie najprawdopodobniej jest bardzo proste, ale dopiero co zacząłem pisać w QT i jeszcze nie do końca wszystko rozumiem.
* po użyciu powyższego kodu wyrzuca błąd(zapewne oczywisty)

C:\Users\kuba1\Desktop\QT\nienazwany\drugi.cpp:6: błąd: 'ui' was not declared in this scope
     ui->pushButton->setText("abc");
     ^
P-166481
pekfos
» 2017-11-05 13:27:41
Przeniosłeś linię kodu bez sensu w inne miejsce i nie działa. Czego dokładnie od nas oczekujesz?
P-166484
mateczek
» 2017-11-05 17:58:21
który jest nowym wątkiem ale to bez znaczenia
metody obiektów Qt powinny być wywoływane z kontekstu wątku głównego.
QObject and all of its subclasses are not thread-safe. This includes the entire event delivery system. It is important to keep in mind that the event loop may be delivering events to your QObject subclass while you are accessing the object from another thread.
Skoro obiekt przycisku należy do klasy okna to tylko klasa okna powinna mieć do niego dostęp (co ty próbujesz osiągnąć bez kodu pozostaje zagadką). A przesłanie wskaźnika na przycisk do wątku nie jest prawidłową metodą(jeśli już to wątek powinien wyemitować sygnał)
P-166503
« 1 »
  Strona 1 z 1