Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. When using setSelectionModel of TableView

When using setSelectionModel of TableView

Scheduled Pinned Locked Moved Unsolved General and Desktop
1 Posts 1 Posters 192 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    IknowQT
    wrote on last edited by
    #1

    Using the frozen table view example, I am making a table view with fixed columns.

    usrTableWidget::usrTableWidget(QWidget *parent)
    	: m_pFrozenTable(new QTableView(this))
    {
        Initialize();
    
        this->connect(
            this->m_pFrozenTable->verticalScrollBar(), &QAbstractSlider::valueChanged,
            this->verticalScrollBar(), &QAbstractSlider::setValue
        );
        
        this->connect(
            this->verticalScrollBar(), &QAbstractSlider::valueChanged,
            this->m_pFrozenTable->verticalScrollBar(), &QAbstractSlider::setValue
        );
    }
    
    void usrTableWidget::InitFrozenTableview(usrTableModel* pModel)
    {
        //usrTableModel* pDataModel = qobject_cast<usrTableModel*>(this->model());
        //pModel->SetRowData(pDataModel->GetInputData());
    
        m_pFrozenTable->resizeColumnsToContents();
        m_pFrozenTable->verticalHeader()->setDefaultSectionSize(m_Size.height());
    
        m_pFrozenTable->setModel(pModel);
        m_pFrozenTable->setFocusPolicy(Qt::NoFocus);
        m_pFrozenTable->verticalHeader()->hide();
        m_pFrozenTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
    
        viewport()->stackUnder(m_pFrozenTable);
        
        m_pFrozenTable->setStyleSheet("QTableView { border: none;"
            "background-color: #8EDE21;"
            "selection-background-color: #999}"); //for demo purposes
        
        m_pFrozenTable->setSelectionModel(this->selectionModel());
    
        for (int col = 1; col < pModel->columnCount(); ++col)
            m_pFrozenTable->setColumnHidden(col, true);
    
        m_pFrozenTable->setColumnWidth(0, columnWidth(0));
    
        m_pFrozenTable->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        m_pFrozenTable->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        m_pFrozenTable->show();
    
        UpdateFrozenPosition();
    
        setHorizontalScrollMode(ScrollPerPixel);
        setVerticalScrollMode(ScrollPerPixel);
        m_pFrozenTable->setVerticalScrollMode(ScrollPerPixel);
    
        this->show();
    }
    

    m_pFrozenTable->setSelectionModel(this->selectionModel());
    If you do not declare it, no data is displayed in the table view.

    The initial screen of the table view should contain only data in the heat-fixed table. So in this->selectionModel() I get an error because Model doesn't exist.

    I want to show only the heat setting data on the initial screen.
    Is there no way?

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved