gpt4 book ai didi

qtableview - Qt Qtableview 没有收到标题项点击的信号

转载 作者:行者123 更新时间:2023-12-03 09:52:52 27 4
gpt4 key购买 nike

我正在使用 QtableviewQsqlTableModel用于填充表数据。我想根据用户对列标题的选择对列进行排序。

我尝试了QTableView sorting signal?中提到的方法用于获取信号(从 QtableView 获取水平标题并连接信号 sectionclicked(int logical index) 。但是当我单击列标题时不会发出相同的信号。

请找到完成连接的代码:

成员变量:

QHeaderView *m_horiz_header;

.cpp 文件
m_sqltablemodel->setTable(tabel_name);
m_sqltablemodel->setEditStrategy(QSqlTableModel::OnManualSubmit);
m_sqltablemodel->select();

m_horiz_header= m_table_view->horizontalHeader();
connect(m_horiz_header, SIGNAL(sectionClicked ( int logicalIndex ) ),
this, SLOT(on_sectionClicked ( int logicalIndex ) ));

排序槽函数:
void class::on_sectionClicked ( int logicalIndex ) 
{
m_horiz_header->setSortIndicator(logicalIndex, Qt::AscendingOrder);
m_table_view->sortByColumn(logicalIndex);
}

单击列标题时,不会调用此函数。

你能帮我怎么做吗,我哪里出错了?

最佳答案

我得到了信号连接失败的原因。

连接时不应提及参数名称。

connect(m_horiz_header, SIGNAL(sectionClicked(int)), this, SLOT(on_sectionClicked(int)));

通过像这样修改上面的代码,它起作用了。

关于qtableview - Qt Qtableview 没有收到标题项点击的信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com