Quantcast
Channel: Jobs
Viewing all articles
Browse latest Browse all 18427

QTreeWidget signals and slots not being triggered

$
0
0
I’m trying to make use of the QTreeWidget as follows and slots associated with the code below are not called and the return-value for connect(method) is zero. Could readers help me understand my mistakes? Header File #include <QMainWindow> #include <QModelIndex> #include <QTreeWidget>     class test:public QMainWindow {   Q_OBJECT   public:   test(QWidget* parent = 0)   {     treeWidget = new QTreeWidget(0);     treeWidget->setWindowModality(Qt::ApplicationModal);     treeWidget->setWindowTitle("Select Well/Logs");     treeWidget->setSelectionMode(QAbstractItemView::NoSelection); //QAbstractItemView::MultiSelection       QStringList headerLabels;       headerLabels << "Field" << "Inline" << "CrossLine";         treeWidget->setColumnCount(headerLabels.size());       treeWidget->setHeaderLabels(headerLabels);       treeWidget->setAllColumnsShowFocus(true);       treeWidget->resize(QSize(300,400));       treeWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);       treeWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);       bool temp = connect(treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this,             SLOT(currItemClicked(QTreeWidgetItem*, int)));     printf("value of temp for itemClicked = %d\n", temp);     temp = connect(treeWidget, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this,              SLOT(currItemClicked(QTreeWidgetItem*, int)));     printf("value of temp for itemChanged = %d\n", temp);     setupTreeItems();     temp = connect(this, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(dblClick(QModelIndex)));     printf("value of temp for dblClick = %d\n", temp);   }     QTreeWidget* getTreeWidget()const { return treeWidget;}     void currItemClicked(QTreeWidgetItem* item, int col);   void setTreeItems(const std::multimap<std::string, std::string>& mapData) {}     private:   void setupTreeItems();     QTreeWidget* treeWidget; }; Source file (test.cpp) #include <test.h> #include <QApplication> #include <QDialog> #include <QTreeWidget>   void test::setupTreeItems() {   QStringList header;   header << "One" << "Two" << "Three";     foreach(QString nms, header)   {     QTreeWidgetItem* field_ele = new QTreeWidgetItem(treeWidget, QStringList(QString(nms)));     field_ele->setCheckState(0, Qt::Unchecked);     field_ele->setFlags(Qt::ItemIsEnabled|Qt::ItemIsTristate|Qt::ItemIsUserCheckable);   }   treeWidget->resizeColumnToContents(0);   }   void test::currItemClicked(QTreeWidgetItem *item, int col) {   printf("itemp->text = %s\"n", qPrintable(item->text(0))); }   int main(int argc, char** argv) {     QApplication app(argc, argv);     QDialog *parent = new QDialog();     parent->setVisible(false);       test* testTreeWidget = new test(parent);     QTreeWidget* treeWidget = testTreeWidget->getTreeWidget();       parent->show();     treeWidget->show();       //If parent->show() is uncommented, then I can modify     //select/unselect qtreewidget items.         parent->exec();       return 0; } Qt-4.8.4(opensource-CentOS)

Viewing all articles
Browse latest Browse all 18427

Trending Articles