[QT] Użycie tabWidget'a oraz edycja istniejących rekordów w bazie danych

0

Witam

Od dwóch dni kombinuję jak mogę wykorzystać TableWiget'a. W QT Creatorze dodam ten element ale nie mogę zmienić nazw kolejnych zakładek, więc zabrałem się za analizę tego: http://doc.qt.nokia.com/4.7-snapshot/dialogs-tabdialog.html ale kompletnie tego nie zasady działania tego elementu. Chcę stworzyć coś takiego:

W głównym oknie programu ma być TabWidget składający się np z 3 zakładek. W pierwszej zakładce ma znajdować się tabela z wartościami z bazy danych (w samej tabeli potrafię już to uzyskać), w drugiej zakładce chcę mieć formularz dodający nowe rekordy do bazy danych, zakładka ma wyświetlać przefiltrowane dane (2 kolumny z tabeli). Kolumny te to ITEM_ID oraz IN_USE. Kwerenda wyświetlająca te dane wybiera tylko te ITEM_ID gdzie wartość w kolumnie IN_USE jest równa "NIE". Dodatkowo chciałbym aby przy każdym rekordzie który zostanie wyświetlony był checkBox po zaznaczeniu którego i naciśnięciu OK zmieniał wartość kolumny IN_USE w przy danym ID na "TAK". Może mi ktoś łopatologicznie wytłumaczyć tworzenie tego TabWidgeta oraz stworzenie zawartości zakładki nr3?

W linku który podałem jest zbyt dużo rzeczy dodanych jak dla mnie i szybko się w tym gubię.

0

Polecam przejrzeć kod, który generuje QtDesigner. U mnie w PyQt, aplikacja pyuic dla tabWidget generuje metodę retranslateUi, a w niej kod:

        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QtGui.QApplication.translate("MainWindow", "Pacjenci", None, QtGui.QApplication.UnicodeUTF8))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QtGui.QApplication.translate("MainWindow", "Księga główna", None, QtGui.QApplication.UnicodeUTF8))

A w setupUi oczywiście te taby są tworzone:

        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.tabWidget.addTab(self.tab, _fromUtf8(""))
        self.tab_2 = QtGui.QWidget()
        self.tab_2.setObjectName(_fromUtf8("tab_2"))
        self.tabWidget.addTab(self.tab_2, _fromUtf8(""))

I na przyszłość nie mieszaj nazw tabWidget i tableWidget ;) - jak w poscie powyżej :)

Co do np. checkbox'ów, to da się do tabelki (tableWidget) wsadzać inne widgety, ja wsadzałem przyciski, więc checkobox'y też powinno dać radę :)

        wstawBtn=QtGui.QPushButton(u"Wstaw wizytę")
        self.tableWidgetTerminarz.setCellWidget(0, 0, wstawBtn) #wiersz, kolumna, kontrolka

1 użytkowników online, w tym zalogowanych: 0, gości: 1