1,調(diào)整列寬:
header()->setResizeMode(QHeaderView::Interactive);
setColumnWidth( 0 , 200 ); //第一列寬設(shè)為200
2,單擊tree widget 的 header 自動(dòng)重新排列各item,設(shè)置如下:
setSortingEnabled(true);
3,拖曳:
setDragEnabled(true); //允許拖曳某item
setAcceptDrops(true); //允許item接受拖曳過(guò)來(lái)的item
setDragDropMode(QAbstractItemView::InternalMove); //移動(dòng)模式,某item拖走后原來(lái)的位置不再保留該item
4,激活編輯狀態(tài)的動(dòng)作:
setEditTriggers( QAbstractItemView::SelectedClicked ); // QAbstractItemView::SelectedClicked
//表示當(dāng)該item呈被選擇狀態(tài)時(shí)再被單擊就可編輯該項(xiàng),類似windows資源管理器中重命名文件
像上圖這樣的效果,其實(shí)現(xiàn)很簡(jiǎn)單,代碼如下:
QTreeWidget *legendView = new QTreeWidget(legend); //創(chuàng)建一個(gè)QTreeWidget對(duì)象
legend->setWidget(legendView); //將該對(duì)象設(shè)為以前創(chuàng)建的停靠窗口legend的部件
legendView->setSortingEnabled(false); //不自動(dòng)排序
legendView->setDragEnabled(false); //不可拖放
legendView->setAutoScroll(true); //可以卷動(dòng)
legendView->setColumnCount(1); //列數(shù)
legendView->header()->setHidden(1); //隱藏最頂上的表頭
legendView->setRootIsDecorated(true); //讓根項(xiàng)目前面也有樹(shù)狀虛線
QTreeWidgetItem * item1 = new QTreeWidgetItem();
item1->setText(0,"item1");
item1->setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
item1->setCheckState (0, Qt::Checked);
QIcon myIcon(QgsApplication::themePath()+"/mActionFolder.png");
item1->setIcon(0, myIcon); //還可以為item自定義圖標(biāo)
legendView->addTopLevelItem(item1); //把item添加到QTreeWidget中
QTreeWidgetItem * item2 = new QTreeWidgetItem(item1); //為item1添加子項(xiàng)目,這樣item1前面會(huì)出現(xiàn)“+”,
item2->setText(0,"item2");
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
