QT开发中文网

Qt C++ 设计师 实现一个QTreeWidget 增加n个子项,并且获取得到每个子项得点击

要在Qt Designer中实现一个QTreeWidget并获取子项的点击事件,您可以按照以下步骤进行操作:

  1. 在Qt Designer中拖放一个QTreeWidget控件到窗体上。
  2. 将该QTreeWidget控件命名为treeWidget或其他你喜欢的名称。
  3. 在代码中连接itemClicked信号到槽函数。

下面是一个示例代码:

// MyWindow.h

#ifndef MYWINDOW_H
#define MYWINDOW_H

#include <QWidget>
#include <QTreeWidgetItem>

namespace Ui {
class MyWindow;
}

class MyWindow : public QWidget
{
    Q_OBJECT

public:
    explicit MyWindow(QWidget *parent = nullptr);
    ~MyWindow();

private slots:
    void on_treeWidgetItemClicked(QTreeWidgetItem* item, int column);

private:
    Ui::MyWindow *ui;
};

#endif // MYWINDOW_H


// MyWindow.cpp

#include "MyWindow.h"
#include "ui_MyWindow.h"
#include <QDebug>

MyWindow::MyWindow(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWindow)
{
    ui->setupUi(this);

    // 增加n个子项
    for (int i = 0; i < n; ++i) {
        QTreeWidgetItem *childItem = new QTreeWidgetItem(ui->treeWidget);
        childItem->setText(0, QString("Child Item %1").arg(i+1));
        // 这里可以设置更多属性和数据...
    }

    // 连接itemClicked信号到槽函数
    connect(ui->treeWidget, &QTreeWidget::itemClicked, this, &MyWindow::on_treeWidgetItemClicked);
}

MyWindow::~MyWindow()
{
    delete ui;
}

void MyWindow::on_treeWidgetItemClicked(QTreeWidgetItem* item, int column)
{
    qDebug() << "子项被点击:" << item->text(column);
}

在这个示例中,我们在MyWindow类的构造函数中增加了n个子项,并连接了itemClicked信号到槽函数on_treeWidgetItemClicked()。当用户点击任何一个子项时,会调用该槽函数并输出相应信息。


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

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=8238

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?