0
我是Qt的新手。在Ubuntu 15.04上使用基於Qt 5.4.1的Qt Creator 3.1.1。如何在兩個窗口之間進行通信?
我試圖建立一個應用程序,在主屏幕上列出員工,在右側添加,編輯,刪除和導出按鈕。點擊添加和編輯按鈕,打開另一個子窗口並執行相應的操作。
一旦用戶從子窗口添加/編輯/刪除員工,我想刷新主窗口上的員工列表。
我不想在單個文件中編寫完整的代碼,因此根據屏幕分隔代碼。但我不確定如何從子窗口訪問父窗口UI元素。所以我使用下面的代碼從子文件中實現了這一點。
QTableWidget *tableWidget = this->parent()->findChild<QTableWidget *>();
QSqlQuery query;
query.exec("SELECT * FROM employees order by id DESC");
tableWidget->setRowCount(0);
tableWidget->setRowCount(query.size());
tableWidget->setColumnWidth(0, 60);
tableWidget->setColumnWidth(1, 200);
tableWidget->setColumnWidth(2, 150);
tableWidget->setColumnWidth(3, 100);
while(query.next()) {
tableWidget->setItem(columnCount, 0 ,new QTableWidgetItem(query.value(0).toString()));
tableWidget->setItem(columnCount, 1 ,new QTableWidgetItem(query.value(1).toString()));
tableWidget->setItem(columnCount, 2 ,new QTableWidgetItem(query.value(2).toString()));
tableWidget->setItem(columnCount, 3 ,new QTableWidgetItem(query.value(3).toString()));
columnCount++;
}
click here for screenshot of application
這是正確的做法來實現這一功能?請指導我。謝謝。
你任何之間溝通不同的方式返回兩個對象 - 使用Qt的信號和插槽機制。 – dtech