QTableWidget整理

    //设置表头

    ui->tableWidget->setRowCount(7);

    ui->tableWidget->setColumnCount(5);

    QStringList headLists;

    headLists<<tr("序号")<<tr("区域")<<tr("区域名称")<<tr("上级区域ID")<<tr("区域编码");

    ui->tableWidget->setHorizontalHeaderLabels(headLists);


    //自适应

    ui->tableWidget->resizeColumnsToContents();

    ui->tableWidget->resizeRowsToContents();

    //最后一行,一列延伸至窗口

    ui->tableWidget->horizontalHeader()->setStretchLastSection(true);

    ui->tableWidget->verticalHeader()->setStretchLastSection(true);

    //隐藏表头

    ui->tableWidget->verticalHeader()->setVisible(false);



QTreeWidget整理

//树形的父与子之间的选择

void Widget::itemChanged_slot(QTreeWidgetItem *item, int column)

{

    //如果选中

    if(Qt::Checked == item->checkState(0))

    {

        //如果有孩子节点

        for(int i = 0;i < item->childCount();i++)

        {

            //设置孩子节点状态

            item->child(i)->setCheckState(0,Qt::Checked);

            //如果孩子节点还有子节点

            for(int j = 0;j < item->child(i)->childCount();j++)

            {

                //设置孩子节点的子节点状态

                item->child(i)->child(j)->setCheckState(0,Qt::Checked);

                //如果孩子节点的子节点还有子节点

                for(int k = 0;k < item->child(i)->child(j)->childCount();k++)

                {

                    //设置孩子节点的子节点的子节点的状态

                    item->child(i)->child(k)->child(k)->setCheckState(0,Qt::Checked);

                }

            }

        }

    }

    //如果为选中

    else if(Qt::Unchecked == item->checkState(0))

    {

        //如果有孩子节点

        for(int i = 0;i < item->childCount();i++)

        {

            //设置孩子节点状态

            item->child(i)->setCheckState(0,Qt::Unchecked);

            //如果孩子节点还有子节点

            for(int j = 0;j < item->child(i)->childCount();j++)

            {

                //设置孩子节点的子节点状态

                item->child(i)->child(j)->setCheckState(0,Qt::Unchecked);

                //如果孩子节点的子节点还有子节点

                for(int k = 0;k < item->child(i)->child(j)->childCount();k++)

                {

                    //设置孩子节点的子节点的子节点的状态

                    item->child(i)->child(k)->child(k)->setCheckState(0,Qt::Unchecked);

                }

            }

        }

    }

}


    //使得该控件可编辑(没起作用)

    ui->treeWidget->setEditTriggers(QAbstractItemView::DoubleClicked);

    //隐藏头

    ui->treeWidget->header()->setHidden(true);

    //虚线(没起作用)

    ui->treeWidget->setRootIsDecorated(true);


    QTreeWidgetItem* systemItem = new QTreeWidgetItem(ui->treeWidget,QStringList(tr("系统")));

    systemItem->setIcon(0,QIcon(":/p_w_picpaths/region.png"));

    //利用自带复选框

    systemItem->setCheckState(0,Qt::Unchecked);

    //可编辑,利用复选框,用户与其交互,能够被选择

    systemItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);


    QTreeWidgetItem* jsItem = new QTreeWidgetItem(systemItem,QStringList(tr("江苏")));

    systemItem->addChild(jsItem);

    jsItem->setIcon(0,QIcon(":/p_w_picpaths/root.png"));

    jsItem->setCheckState(0,Qt::Unchecked);

    QTreeWidgetItem* glItem = new QTreeWidgetItem(jsItem,QStringList(tr("鼓楼")));

    jsItem->addChild(glItem);

    glItem->setIcon(0,QIcon(":/p_w_picpaths/root.png"));

    glItem->setCheckState(0,Qt::Unchecked);

    QTreeWidgetItem* splItem = new QTreeWidgetItem(glItem,QStringList(tr("三牌楼")));

    glItem->addChild(splItem);

    splItem->setIcon(0,QIcon(":/p_w_picpaths/root.png"));

    splItem->setCheckState(0,Qt::Unchecked);