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