【发布时间】:2011-12-25 05:15:14
【问题描述】:
我正在向 QListWidget 添加自定义小部件。
我的自定义小部件包含 2 个标签、1 个按钮
/* 我的自定义小部件
UserDetails *myItem = new UserDetails(0," ALOA, Jeon");
UserDetails *myItem1 = new UserDetails(0," LOUIS, Stacy");
QListWidgetItem *item = new QListWidgetItem();
QListWidgetItem *item1 = new QListWidgetItem();
item->setSizeHint(QSize(0,45));
item1->setSizeHint(QSize(0,45));
ui->listWidget->addItem(item);
ui->listWidget->addItem(item1);
ui->listWidget->setItemWidget(item,myItem);
ui->listWidget->setItemWidget(item1,myItem1);
使用上面的代码,我将 mu Custom Widget 项添加到 QListWidget。 现在的问题是我现在在我的 CustomWidget 中使用一个 QPushButton,当我单击 ListWidget 中的 ListWidgetItem 该按钮时,我想将按下状态更改为某个背景图像,并且在释放时它应该恢复正常状态。为此,我使用样式表来这样做但是当我单击按钮时,它不会在双击时获得列表小部件的单击事件(列表的 itemclicked SLOT)。
如何点击一下?
【问题讨论】:
-
当我之前在 QTreeWidget 中做过类似的事情时,我不必对 itemClicked() 做任何事情。我只需要将按钮连接到任何东西,QTreeWidget 会自行将点击事件向下传播到按钮。
-
你应该使用模型-视图-委托
标签: qt