QTableWidget dataChanged SIGNAL
QTableWidget dataChanged SIGNAL
我在QLabel中显示QTableWidget中的项目计数,但是每当我进行一些更新时,我都必须手动更新计数(标签(。删除或添加行时会发出任何信号吗?我尝试了单元格更改和项目更改,但是当我删除一行时它们都没有发出。没有可用的数据已更改信号。
这就是我现在所做的:
ui->tableWidget->insertRow ( ui->tableWidget->rowCount() );
// ....
ui->lblTotalElements->setText(QString::number(ui->tableWidget->rowCount()));
没有信号,但有一个虚拟的、受保护的插槽,你可以使用:rowsAboutToBeRemoved。只需子类,重写该方法,发出自定义信号,然后调用基类的实现。
在删除行时添加信号的实现,存储要删除的行(范围(如下所示:
class MyTableWidget: public QTableWidget
{
Q_OBJECT
public:
using QTableWidget::QTableWidget;
protected slots:
virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override;
signals:
void removed(int, int);
};
void MyTableWidget::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
{
emit removed(start, end);
QTableWidget::rowsAboutToBeRemoved(parent, start, end);
}
相关文章:
- QAbstractTableModel,并为单行发出dataChanged
- 调用 raise(signal) 会终止 c++ 程序
- 未调用 signal() 指定的处理程序
- C++中链表的错误"Abort signal from abort(3) (sigabrt) "
- 将成员函数传递给 std::signal
- 在 C++11 中,signal.h 标头没有 kill 函数
- QTableWidget dataChanged SIGNAL
- connect(QObject*, SIGNAL(signal()), functor) 在 qt5 中未连接
- "Static polymorphism with Qt signal/slot: What is wrong?"
- 为什么此程序以"unknown signal"终止?
- llvm 异常 - 提高异常 "?:Unknown signal"
- 为什么我可以通过自定义对话框获得"QMetaObject::connectSlotsByName: No matching signal"?
- Signal ReadyRead()不执行插槽
- 如果由同一应用程序触发,则丢弃QClipboard :: DataChanged()信号
- Qt UDPsocket readyread() SIGNAL 发出两次
- QObject::connect not connecting signal to slot
- Datachanged信号与ComboboxDelegate不起作用
- 对qt中的signal和slots使用另一个类对象
- 在Qt中使用dataChanged()和QTreeView时,"右下"是什么意思?
- QAbstractSpinBox - indexChanged signal