删除QWidget中的控件和清空QTableView表格内容用法

本文主要总结删除QWidget中的控件和清空QTableView表格内容用法,下面将详细讲述这两种用法的实现方式。

1.1删除QWidget中的控件(函数removeWidget())

要删除QWidget中的控件,可以现在QWidget用QVBoxLayout布局,然后用QVBoxLayout::removeWidget(QWidget*)函数删除指定名称的控件,删除后要用delete释放空间,否则不会显示出来。

        QVBoxLayout *m_VBoxLayout = new QVBoxLayout(this);
        QPushButton *m_button = QPushButton(QStringLiteral("按钮"));
        m_VBoxLayout->addWidget(m_button);
        
        if(!m_VBoxLayout->isEmpty())                         //如果垂直布局器中有控件,则执行删除控件
        {
            m_VBoxLayout->removeWidget(m_button);           //删除按钮控件
            delete m_button;                                //释放控件
            qDebug()<<m_VBoxLayout->isEmpty();              //判断垂直布局是否为空
        }

1.2清空表格控件QTableView(函数clear())

要清空表格控件QTableView,只需要清空模型项QStandItemModel的对象就行。只要用到函数QStandItemModel::clear()就可以了。下面代码是一个清空QTabView表格的简单用法。

    //初始化
    QTableView m_TableView = new QTableView;
    QStandardItemModel *m_StandItemModel = new QStandardItemModel;
    m_TableView.setModel(m_StandItemModel);
    m_StandItemModel->clear();          //清空模型时,对应表格的内容会同步清空

1.3清空QTabView表格用法同样适用于列表控件QListView、树形控件QTreeView。


总结:

需要清空QWidget布局管理器中的控件,只需要用到函数QVBoxLayout::removeWidget(QWidget*)。

要清空表格控件QTableView的内容,只需要用到函数QStandItemModel::clear()。



参考内容:

https://blog.csdn.net/supervictim/article/details/52679863

https://bbs.csdn.net/topics/390993164

你可能感兴趣的:(嵌入式积累,Qt基础知识,Qt工程应用)