Ehh no chyba upośledzony jakiś jestem bo bardzo ciężko mi zrozumieć sygnały/sloty w QT. Znacie jakieś przykłady wysyłania struktur przez ten mechanizm?
W jaki sposób mogę wyświetlić w Qt bazę w TableView? Chodzi mi konkretnie o załadowanie całej bazy do TableView po wciśnięciu buttona pod którym mam całą operację połączenia się z bazą danych.
Nie wiem jak "wysłać" te dane z klasy "database" gdzie operuję połączeniem do klasy "MainWindow" gdzie mam tabelkę
W jaki sposób mogę wyświetlić w Qt bazę w TableView? Chodzi mi konkretnie o załadowanie całej bazy do TableView po wciśnięciu buttona pod którym mam całą operację połączenia się z bazą danych.
Nie wiem jak "wysłać" te dane z klasy "database" gdzie operuję połączeniem do klasy "MainWindow" gdzie mam tabelkę
Gdy dochodzi do linijki ->
table_model = new QSqlTableModel(this, mydb)
Debuger wyrzuca:
QObject: Cannot create children for a parent that is in a different thread.
(Parent is MainWindow(0x86d68ffaa0), parent's thread is QThread(0x1a15e3c62c0), current thread is QThread(0x1a15e3cb1f0)
Wątek 0x1b64 zakończył działanie z kodem 0 (0x0).
Co robię źle?
#naukaprogramowania #programowanie #qt #cpp #glupiepytaniametoksyfenidyny
this
, którego przekazujesz jako rodzic doQSqlTableModel
. PonieważQObject
potrzebuje być na jakiś wątku, by odbierać zakolejkowane sygnały, przypisuje mu się obecne. Jednak ze względu na sposób usuwania dzieci rodziców, wątek rodzica musi być taki sam. U ciebie widocznie okno tworzysz w innym wątku niż główny wątek GUI.