QT开发中文网

D:\qtcode\widget_qml1015\widget_qml\lefttreewidget.cpp:44: error: request for member 'setIndexWidgets' in 'headItem', which is of pointer type 'QTreeWidgetItem*' (maybe you meant to use '->' ?) headItem.setIndexWidgets(childWithButtons->i...

根据您提供的错误信息,看起来您尝试使用了 setIndexWidgets 方法,但 headItem 是一个指向 QTreeWidgetItem 的指针,而不是直接的对象。这意味着您应该使用箭头运算符(->)来访问指针对象的方法。

解决方案

请将代码中的以下行:

headItem.setIndexWidgets(childWithButtons->index(), frame);

修改为:

headItem->setIndexWidgets(childWithButtons->index(), frame);

这里的 headItem 应该是一个 QTreeWidgetItem* 类型的指针,因此您需要使用 -> 运算符来调用其方法。

完整示例

如果您的代码类似于以下内容:

QTreeWidgetItem* headItem = new QTreeWidgetItem(treeWidget);
headItem->setText(0, "Header");

// 创建子项和按钮框架
QTreeWidgetItem* childWithButtons = new QTreeWidgetItem(headItem);
childWithButtons->setText(0, "Child with buttons");

// 假设 frame 是一个 QWidget* 类型的控件,接下来设置 index widgets
QWidget* frame = new QWidget();
// ... 对frame进行其他设置 ...

// 正确调用 setIndexWidgets 方法
headItem->setIndexWidgets(childWithButtons->index(), frame); // 使用 '->' 运算符

treeWidget->addTopLevelItem(headItem);

注意事项

  1. 内存管理:如果你使用的是动态分配(例如用 new 分配),确保在不再需要这些项目时适当释放内存,防止内存泄漏。

  2. UI 更新:如果通过 QSS 或程序中更新 UI,需要确保重新绘制和更新界面元素,以便能看到所做的更改。


    内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 解决方案
  • 完整示例
  • 注意事项
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=13216

    分享:
    扫描分享到社交APP
    ' ?) headItem.setIndexWidgets(childWithButtons->i...&appkey=&pic=&searchPic=true")' title="分享到新浪微博" class="weibo"> ' ?) headItem.setIndexWidgets(childWithButtons->i...")' title="分享到QQ好友" class="qq"> ' ?) headItem.setIndexWidgets(childWithButtons->i...")' title="分享到QQ空间" class="qqzone">
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?