QT 数据库 C语言

summer_b 2017-09-17 09:38:37
问题:
当我关闭主窗口的时候,会出现,程序异常结束,执行其他代码没有出现,只有执行 connect(ui->tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(ShowSupplyclick()));这句显示语句就会出现,怎么改呢?
代码:
void luying::on_pushButton_2_clicked()
{
QSqlQueryModel *model=new QSqlQueryModel;
QSqlDatabase db = QSqlDatabase::database("connection1");
model->setQuery("select * from music",db);
model->setHeaderData(0,Qt::Horizontal,tr("sing"));
ui->tableView->setModel(model);//tableview显示数据
connect(ui->tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(ShowSupplyclick()));//单击显示在lineedit上
}
void luying::ShowSupplyclick()
{
QSqlDatabase db = QSqlDatabase::database("connection1");
static QSqlQueryModel model(ui->tableView);//QSqlQueryModel只进行读操作,QSqlTableModel进行读写操作
model.setQuery("select * from music",db);
int row = ui->tableView->currentIndex().row();//执行到这一句就显示错误
QSqlRecord record = model.record(row);
ui->lineEdit->setText(record.value(0).toString());
}

...全文
671 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
summer_b 2017-09-19
  • 打赏
  • 举报
回复
引用 5 楼 zhxianbin 的回复:
qt 好久没做过了,不熟悉了。 在主窗口的 close 事件中加个 disconnect 呢?
void MainWindow::on_pushButton_3_clicked() { disconnect(pushButton); } 我在主窗口加了上面的这句,断开连接,结果直接出现上面图片上的问题。
zhxianbin 2017-09-18
  • 打赏
  • 举报
回复
qt 好久没做过了,不熟悉了。 在主窗口的 close 事件中加个 disconnect 呢?
summer_b 2017-09-18
  • 打赏
  • 举报
回复
引用 2 楼 zhxianbin 的回复:
首先至少应该先判断有没有数据再显示吧
进行槽函数关联了,单击数据的位置就会显示,不需要判断有没有数据,就算没有也只是显示空白。应该不是错在那里把?
summer_b 2017-09-18
  • 打赏
  • 举报
回复
引用 2 楼 zhxianbin 的回复:
首先至少应该先判断有没有数据再显示吧
有数据显示的,我有两个窗口进行数据传输,关闭显示数据的窗口没有问题,关闭主窗口才出现异常结束的问题。但是只要我不让数据显示在lineedit上,就是不执行connect(ui->tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(ShowSupplyclick()));就不会有问题。
zhxianbin 2017-09-18
  • 打赏
  • 举报
回复
首先至少应该先判断有没有数据再显示吧
summer_b 2017-09-18
  • 打赏
  • 举报
回复
求各位大神帮帮我!我估计错误在数据显示到lineedit的地方出错,但是不知道怎么改.

742

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
  • Power Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧