Here is my code for the treeview. Everything compiles, and I only get a warning for an unused parameter "item."
treeview.h
#ifndef TREEVIEW_H
#define TREEVIEW_H
#include <QMainWindow>
namespace Ui {
class TreeView;
}
{
Q_OBJECT
public:
explicit TreeView
(QWidget *parent
= 0);
~TreeView();
private slots:
private:
Ui::TreeView *ui;
void setupTreeItems();
// void manageTreeItems();
TreeView * treeView;
//TreeView * check;
};
#endif // TREEVIEW_H
#ifndef TREEVIEW_H
#define TREEVIEW_H
#include <QMainWindow>
class QAction;
class QTreeWidget;
class QTreeWidgetItem;
class QCheckBox;
namespace Ui {
class TreeView;
}
class TreeView : public QMainWindow
{
Q_OBJECT
public:
explicit TreeView(QWidget *parent = 0);
~TreeView();
private slots:
void setChecked(QTreeWidgetItem *, int);
private:
Ui::TreeView *ui;
void setupTreeItems();
// void manageTreeItems();
TreeView * treeView;
//TreeView * check;
QAction *ascendingAction;
QTreeWidget *treeWidget;
QTreeWidget *mTreeWidget;
};
#endif // TREEVIEW_H
To copy to clipboard, switch view to plain text mode
treeview.cpp
#include "treeview.h"
//#include "ui_treeview.h"
//#include "dialog.h"
#include <iostream>
#include <QTreeWidget>
#include <QInputDialog>
#include <QCheckBox>
#include <QStandardItem>
#include <Qt>
#include <iostream>
using namespace std;
TreeView
::TreeView(QWidget *parent
) : //ui(new Ui::TreeView)
{
//ui->setupUi(this);
treeWidget->setColumnCount(1);
headers << tr("Legend");
treeWidget->setHeaderLabels(headers);
setupTreeItems();
setCentralWidget(treeWidget);
setWindowTitle(tr("Tree Widget"));
}
TreeView::~TreeView()
{
//delete ui;
}
void TreeView::setupTreeItems()
{
cities->setText(0, tr("Places"));
cities->setCheckState(0, Qt::Checked);
cities->insertChild(0, citiesChild);
citiesChild->setText(0, tr("USA Cities"));
citiesChild->setCheckState(0, Qt::Checked);
mTreeWidget->addTopLevelItem(cities);
}
{
cout << "Cities Clicked" << endl;
qDebug("Cities Clicked");
}
#include "treeview.h"
//#include "ui_treeview.h"
//#include "dialog.h"
#include <iostream>
#include <QTreeWidget>
#include <QInputDialog>
#include <QCheckBox>
#include <QStandardItem>
#include <Qt>
#include <iostream>
using namespace std;
TreeView::TreeView(QWidget *parent) :
QMainWindow(parent)
//ui(new Ui::TreeView)
{
//ui->setupUi(this);
treeWidget = new QTreeWidget(/*this*/);
mTreeWidget = new QTreeWidget;
treeWidget->setColumnCount(1);
QStringList headers;
headers << tr("Legend");
treeWidget->setHeaderLabels(headers);
setupTreeItems();
setCentralWidget(treeWidget);
setWindowTitle(tr("Tree Widget"));
}
TreeView::~TreeView()
{
//delete ui;
}
void TreeView::setupTreeItems()
{
QTreeWidgetItem *cities = new QTreeWidgetItem(treeWidget);
cities->setText(0, tr("Places"));
cities->setCheckState(0, Qt::Checked);
QTreeWidgetItem *citiesChild = new QTreeWidgetItem();
cities->insertChild(0, citiesChild);
citiesChild->setText(0, tr("USA Cities"));
citiesChild->setCheckState(0, Qt::Checked);
mTreeWidget->setSelectionMode(QAbstractItemView::MultiSelection);
mTreeWidget->addTopLevelItem(cities);
QObject::connect(mTreeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(setChecked(QTreeWidgetItem*,int)));
}
void TreeView::setChecked(QTreeWidgetItem *item, int)
{
cout << "Cities Clicked" << endl;
qDebug("Cities Clicked");
}
To copy to clipboard, switch view to plain text mode
Sorry for the lengthy post, I'm just really having trouble with this problem. When I do anything with the checkbox, it doesn't seem to jump to the slot. Do you have any suggestions?
Bookmarks