qt中QTreeWidget控件的使用
生活随笔
收集整理的這篇文章主要介紹了
qt中QTreeWidget控件的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
引言
在按照項目設計的樣式來實現的時候,發現了一些問題,幸運的是最終找到了解決的方法。
詳情
1.QTreeWidget設置列數和隱藏頭(這里指的是有1所在的那個部位)
ui->treeWidget->setColumnCount(1);//設置有1列ui->treeWidget->header()->hide();//設置隱藏頭2.設置某一項的高度
QTreeWidgetItem *rootItem = new QTreeWidgetItem(ui->treeWidget);//創建QTreeWidget的項 rootItem->setText(0,QStringLiteral("公司"));//設置項的文本 rootItem->setFlags(Qt::ItemIsEnabled|Qt::ItemIsSelectable);//設置項的屬性,可選擇,可使用 rootItem->setIcon(0,QIcon(":/new/prefix1/images/logo.png"));//設置項的圖標 rootItem->setSizeHint(0,QSize(0,70));//設置行高3.設置只隱藏根節點的箭頭
ui->treeWidget->setRootIsDecorated(false);//設置只隱藏根節點的箭頭4.通過向ui文件中拖入控件QStackWidget,先根據程序運行中得到的數據的組數,在QStackWidget中創建幾組窗口,用于與QTreeWidget窗口中的項綁定,實現點擊QTreeWidget來切換不同的堆棧窗口。
//創建窗口,窗口中創建滾動區域,將窗口添加到堆棧窗口中rootWidget = new QWidget();QScrollArea *rootArea = new QScrollArea(rootWidget);rootArea->setGeometry(0,0,677,552);rootArea->setWidgetResizable(false);//滾動區域的窗口QWidget *scrollWidget = new QWidget();scrollWidget->setGeometry(0,0,677,600);scrollWidget->setMinimumSize(677,552);rootArea->setWidget(scrollWidget);QHBoxLayout *hLayout = new QHBoxLayout(rootWidget);hLayout->addWidget(rootArea);hLayout->setContentsMargins(0,0,0,0);hLayout->setSpacing(0);//設置窗口的背景色rootWidget->setPalette(QPalette(Qt::yellow));rootWidget->setAutoFillBackground(true); //項堆棧窗口中添加創建好的窗口ui->stackedWidget->addWidget(rootWidget);//綁定樹狀控件的itemclicked信號,實現點擊某一個項,跳轉到不同的堆棧窗口connect(ui->treeWidget,&QTreeWidget::itemClicked,this,&ImDialog::onCurrentWidget);5.設置QTreeWidget的項的高度,可以直接采用項的函數setSizeHint,也可以按照下面這種方式來實現。
先封裝另一個類,類中重寫函數sizeHint。
使用的時候,像下面這樣使用。
ui->treeWidget->setItemDelegate(new Delegate(this));//可以直接這樣用 rootItem->setData(0,Qt::UserRole,QSize(0,40));//可以直接這樣用便能設置QTreeWidget的項的高度。其中rootItem是QTreeWidgetItem類的指針。
6.QTreeWidget將項的箭頭放在右邊
這樣所有的箭頭都在右邊,貌似項的文本也會右對齊。
以上只是記錄了大體思路和部分功能函數,僅供參考。
總結
以上是生活随笔為你收集整理的qt中QTreeWidget控件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js统计html页面访问的次数6,JS综
- 下一篇: s3c2440移植MQTT