WHAT'S NEW?
Loading...

Qt選擇性顯示TabWidget和QMenu

  1. 如何選擇性顯示TabWidget的Tab?

  2. 最近寫程式需要做這樣的操作, 然而Tab不能像TableWidget利用hide將它隱藏掉.   
    ui->tab->hide();    
    如以下程式碼所示,Tab只能透過removeTab的方式,
    (index指的是索引值, 你可以利用Qt Desgner進行查詢)      
    ui->tabWidget->removeTab(index);
    然而我的目的是控制Tab顯示和隱藏,因此我利用以下的程式碼加回此Tab   
    ui->tabWidget->addTab(ui->tab, "測試");

  3. 如何選擇性顯示QMenu的Menu?
    • 隱藏QMENU(hide QMENU)         
    •  ui->menu->menuAction()->setVisible(false);
    • 顯示QMENU(show QMENU)     
    • ui->menu->menuAction()->setVisible(true)
      

Qt有關QTableWidget相關操作

  1. 如何設置QTableWidget水平的表頭?
  2. 表格的表頭可以QStringList存放字串, 然後將此型別放入到setHorizontalHeaderLabels輸入引數即可設定表格的水平表頭 .   
    QStringList HeaderString;
    HeaderString<<"Name"<<"Phone number";
    ui->tableWidget->setHorizontalHeaderLabels(HeaderString);
    

  3. 判斷QTableWidget的水平表頭是否存在?
  4. 以下的程式碼判斷tableWidget的表格是否有水平表頭          
    ui->tableWidget->horizontalHeader()->isVisibleTo(ui->tableWidget)
    

  5. 如何重設TableWidget內容?
  6. 將檔案匯入表格時, 表格內容會因檔案內容有所改變,  因此需要將之前的表格內容移除掉.
    for(int count=0;count<rowcount;count++)
    {
       ui->tableWidget->removeRow(0);
    }


  7. 如何讓QTableWidget的顯示浮點數顯示到小數點第二位?
  8. 以下的程式碼主要將value四捨五入到小數點第二位, 並且在第i列第j行顯示其內容
    double value = 1.756;
    QString test = QString::number(value, 'f', 2);
    ui->tableWidget->setItem(0,2, new QTableWidgetItem(test));

  9. 如何設置QTableWidget文字對齊格式?
  10. 以下的程式碼主要將第row列第column行的Cell的文字設置置中, Qt的表格文字對齊方式有以下幾種:
    •  置中 Qt::AlignCenter
    •  靠右對齊 Qt::AlignRight 
    •  靠左對齊  Qt::AlignLeft      

    ui->tableWidget->item(0,2)->setTextAlignment(Qt::AlignCenter);

  11. 如何讓QTableWidget隱藏列和行?
  12. 以下的程式碼主要將第ncloumn行和第nrow列的內容隱藏. (Qt的TableWideget 的列和行的索引值從零開始)
    ui->tableWidget->hideColumn(ncolumn);
    ui->tableWidget->hideRow(nrow);

  13. 判斷QTableWidget第ncolumn行是否隱藏?
  14. 以下的程式碼主要判斷第ncolumn是否隱藏. 
    ui->tableWidget->isColumnHidden(ncolumn);
    

    Fig 1. Qt Table基本操作