首页 > 解决方案 > 如何从 QListWidgetItem 获取按钮事件

问题描述

如何从 QListWidgetItem 获取按钮事件(使用 setItemWidget 设置)

我有 listWidget,其中包含 QListWidgetItem,每个我有 3 个按钮

我想区分 mainwindow.cpp 中哪个按钮发送了信号

主窗口.ui:

QTimer *newTimer = new QTimer(this);
newTimer->setInterval(100);

int lastID = timerList.count();
timerList.insert(lastID,newTimer);

int timerMsecs = ((ui->timeSetupS->value())*1000)+
                 ((ui->timeSetupM->value())*60*1000)+
                 ((ui->timeSetupH->value())*60*60*1000);

QDateTime currentDateTime = QDateTime::currentDateTimeUtc();
qint64 currentDateMsecs = QDateTime::currentMSecsSinceEpoch();

QListWidgetItem *newTimerItem = new QListWidgetItem();
newTimerItem->setData(Qt::DisplayRole, "Timer" + 
QString::number(timerList.count()));
newTimerItem->setData(Qt::UserRole, lastID);
newTimerItem->setData(Qt::UserRole+1, timerMsecs);
newTimerItem->setData(Qt::UserRole+2, (currentDateMsecs+timerMsecs));
ui->listWidgetTimer->setItemWidget(newTimerItem, new TimerItemView);

TimerItemView.ui: 在此处输入图像描述

我在 timerItemView.ui 中设计了 3 个按钮。

我在 mainwindow.ui 中创建了一个列表小部件并添加了项目。我添加一个item的时候是这样的: No.1 [button1] [button2] [button3] No.2 [button1] [button2] [button3] 在mainwindow.ui中,我要区分button 1的点击事件第一项的按钮和第二项的按钮 2。

标签: qt

解决方案


推荐阅读