Qt工作笔记-QTreeWidgetItem中的CheckState以及遍历选中的CheckBox
生活随笔
收集整理的這篇文章主要介紹了
Qt工作笔记-QTreeWidgetItem中的CheckState以及遍历选中的CheckBox
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
話不多說,程序運(yùn)行如下:
原理如下:
使用QTreeWidget添加QTreeWidgetItem,并且打開QTreeWidgetItem里面的setCheckState,這個選項(xiàng)。
就可以實(shí)現(xiàn)在QTreeWidgetItem放CheckBox了,
關(guān)于變量,我們先把他放到一個迭代器里面然后進(jìn)行遍歷QTreeWidgetItemIterator。
修改官方的例子,就很容易實(shí)習(xí)這個功能:
下面給出源碼
widget.h
#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QCheckBox>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();public slots:void pressBtn();private:Ui::Widget *ui; };widget.cpp
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);ui->treeWidget->setHeaderLabel(tr("第一列"));for(int i=0;i<10;i++){QTreeWidgetItem *topitem=new QTreeWidgetItem();topitem->setText(0,tr("top"));ui->treeWidget->addTopLevelItem(topitem);topitem->setCheckState(0,Qt::Unchecked);}connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(pressBtn())); }void Widget::pressBtn(){QTreeWidgetItemIterator it(ui->treeWidget);while (*it) {if((*it)->checkState(0)==Qt::Checked){ui->treeWidget->setCurrentItem(*it);break;}++it;} }Widget::~Widget() {delete ui; }main.cpp
#include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }總結(jié)
以上是生活随笔為你收集整理的Qt工作笔记-QTreeWidgetItem中的CheckState以及遍历选中的CheckBox的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt工作笔记-moc的认识
- 下一篇: Qt工作笔记-setWindowFlag