qt - 添加对象到 QListWidget

标签 qt qlistwidget

我有课

class MyClass
 {
  public:
  QString name;
  int age;
 };
...
MyClass* itm1= new MyClass();
itm1->name="John";
itm1->age=20;

我想将 itm1 添加到将显示 itm1->name 的 QListWidget 中,当我双击列表中的项目以在消息框中显示 itm1->age . 欢迎任何帮助!

最佳答案

这应该有效。

QListWidget* listWidget = new QListWidget();
connect(listwidget, SIGNAL (itemDoubleClicked(QListWidgetItem*)), yourClass, SLOT(itemDoubleClicked(QListWidgetItem*)));

MyClass* itm1= new MyClass();
itm1->name="John";
itm1->age=20;

QListWidgetItem* item(itm1->name);
item->setData(Qt::UserRole, itm1->age);
listWidget->addItem(item);

然后将其添加为插槽。

void YourClass::itemDoubleClicked(QListWidgetItem* item) {
    int age = item->data(Qt::UserRole);
    QMessageBox messageBox;
    messageBox.setText(QString::number(age));
    messageBox.exec();
}

关于qt - 添加对象到 QListWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28437432/

相关文章:

C 代码与 Qt gui 绑定(bind)

python - 调整列宽以适应 QTableWidget pyqt

c++ - QT ListWidget itemclicked into a String

python - 我可以覆盖 QListWidgetItem 的 __lt__ 比较器的输入吗? (PyQt)

qt - QListWidget支持分组吗?

c++ - 如何调整 QListWidget 网格大小以使项目均匀填充视口(viewport)?

javascript - QtWebKit 桥 : call JavaScript functions

qt - 用鼠标平移 QScrollArea

Qt - 如何通过单击文本来切换 QListWidgetItem

c++ - 从 QMap 中删除所有值