Widget.h 其中selectHero为槽函数 注意里面的形参,不需要增加形参名 只需要类型
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
public slots:
void selectHero(QTreeWidgetItem*,int);
private:
Ui::Widget *ui;
};
Widget.cpp 在实现我们的槽函数是 才需要添加我们的形参名 ,形参名随意。
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//treewidget数控件使用
//设置水平头
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄杀");
//创建顶层节点item
QTreeWidgetItem *gitem = new QTreeWidgetItem(QStringList()<<"女性英雄");
QTreeWidgetItem *mitem = new QTreeWidgetItem(QStringList()<<"男性英雄");
//将顶层节点item加入treewidget中(根节点)
ui->treeWidget->addTopLevelItem(mitem);
ui->treeWidget->addTopLevelItem(gitem);
//追加子节点
QTreeWidgetItem *dcitem = new QTreeWidgetItem(QStringList()<<"貂蝉");
QTreeWidgetItem *xqitem = new QTreeWidgetItem(QStringList()<<"小乔");
//将子节点添加到根节点中 (女性英雄、男性英雄下)
gitem->addChild(dcitem);
gitem->addChild(xqitem);
QTreeWidgetItem *zfitem = new QTreeWidgetItem(QStringList()<<"张飞");
QTreeWidgetItem *lbitem = new QTreeWidgetItem(QStringList()<<"吕布");
mitem->addChild(zfitem);
mitem->addChild(lbitem);
connect(ui->treeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(selectHero(QTreeWidgetItem*,int)));
}
Widget::~Widget()
{
delete ui;
}
void Widget::selectHero(QTreeWidgetItem *item, int a)
{
QString zf="张飞" ;
if(item->text(a) == zf)
{
qDebug()<<"张飞"<<endl;
}
}