• 6781阅读
  • 1回复

还是不懂如何获取qtreewidget项目的内容 [复制链接]

上一主题 下一主题
离线haulm
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-13
查了大量的资料看了所有qtcn的帖子,还是不懂如何获取qtreewidget项目的内容
大概就找到以下的句子是能被编译通过的,只是暂时没时间去具体实现了

QList<QTreeWidgetItem*> item=treeWidget->selectedItems();//用这种方法可以找到那个被选中了。
QString str;
if(item.first())
{str=item.first()->text(0);}

看得头晕脑涨,发觉版主在回答一些问题时太专业了,一点代码都没有,让菜鸟如何下手?
关于qtreewidget希望大家都能给出代码来,对于Qt4来说这些实现比较复杂。
离线haulm

只看该作者 1楼 发表于: 2009-08-13
谁能教我一下,如何能够获取用户正在操作的项目,比如双击或者选择
  1. #include <QtGui>
  2. int main(int argc, char *argv[]) {
  3.     QApplication app(argc, argv);
  4.     QTreeWidget *treeWidget = new QTreeWidget;
  5.     treeWidget->setWindowTitle(QString::fromLocal8Bit("Magic Linux 服务管理器"));
  6.     treeWidget->resize(800, 600);
  7.     QStringList columnTitle;
  8.     columnTitle.append(QString::fromLocal8Bit("服务"));
  9.     columnTitle.append(QString::fromLocal8Bit("说明"));
  10.     treeWidget->setHeaderLabels(columnTitle);
  11.     
  12.    QList<QTreeWidgetItem*> item=treeWidget->selectedItems();//用这种方法可以找到那个被选中了。
  13.    QString str;
  14.    if(item.first())
  15.    {str=item.first()->text(0);}
  16.     treeWidget->header()->setResizeMode(QHeaderView::ResizeToContents );
  17.     QStringList Column0;
  18.     Column0.append("acpid");
  19.     Column0.append(QString::fromLocal8Bit("高级电源管理"));
  20.     QTreeWidgetItem *child = new QTreeWidgetItem(Column0);
  21.     child->setIcon(0, QIcon("/usr/share/icons/hicolor/48x48/apps/gparted.png"));
  22.     treeWidget->addTopLevelItem(child);
  23.     // child->setData(0,0,1234); //支离破碎的BLOG资料实在是没法搞懂
  24.     //    connect( myExplorer, SIGNAL( itemClicked (QTreeWidgetItem *, int) ), this, SLOT( slotFillListWidget(QTreeWidgetItem *, int) ) );
  25.     QStringList Column1;
  26.     Column1.append("avahi-daemon");
  27.     Column1.append(QString::fromLocal8Bit("Avahi 是 zeroconf 协议的实现,它是一个轻量级的服务发现协议,用于注册和寻找附近的可用协议、设备"));
  28.     QTreeWidgetItem *child1= new QTreeWidgetItem(Column1);
  29.     child1->setIcon(0, QIcon("/usr/share/icons/hicolor/48x48/apps/gparted.png"));
  30.     treeWidget->addTopLevelItem(child1);
  31.     
  32.     QStringList Column2;
  33.     Column2.append("bluetooth");
  34.     Column2.append(QString::fromLocal8Bit("蓝牙技术是爱立信、IBM等5家公司在1998年联合推出的一项无线网络技术"));
  35.     QTreeWidgetItem *child2= new QTreeWidgetItem(Column2);
  36.     child2->setIcon(0, QIcon("/usr/share/icons/hicolor/48x48/apps/gparted.png"));
  37.     treeWidget->addTopLevelItem(child2);
  38.     
  39.     QStringList Column3;
  40.     Column3.append("crond");
  41.     Column3.append(QString::fromLocal8Bit("定时执行程序的服务,在 /etc/crontab 中可设置具体时间和程序"));
  42.     QTreeWidgetItem *child3= new QTreeWidgetItem(Column3);
  43.     child3->setIcon(0, QIcon("/usr/share/icons/hicolor/48x48/apps/gparted.png"));
  44.     treeWidget->addTopLevelItem(child3);
  45.     
  46.    QStringList Column4;
  47.     Column4.append("cups");
  48.     Column4.append(QString::fromLocal8Bit("您可以在Linux计算机上像和Windows计算机一样方便地使用打印机,而且拥有Linux的强大功能"));
  49.     QTreeWidgetItem *child4= new QTreeWidgetItem(Column4);
  50.     child4->setIcon(0, QIcon("/usr/share/icons/hicolor/48x48/apps/gparted.png"));
  51.     treeWidget->addTopLevelItem(child4);
  52.     QStringList join1;
  53.     join1.append("line join");
  54.     join1.append("child join");
  55.     QTreeWidgetItem *childx = new QTreeWidgetItem(join1);
  56.     childx->setIcon(0, QIcon("/usr/share/icons/hicolor/48x48/apps/gparted.png"));
  57.     childx->setCheckState(0, Qt::Checked);
  58.     child->addChild(childx);
  59.     treeWidget->show();
  60.     return app.exec();
  61. }
快速回复
限100 字节
 
上一个 下一个