簡體   English   中英

Qt 互斥復選框

[英]Qt mutually exclusive checkboxes

我想在 Qt 中創建一組互斥復選框(沒有 ZE8801102A40AD89DDCFDCAEBF008D25Z Designer 或任何其他花哨的東西)。 使用三個復選框,我可以在操作 function 中執行以下操作:

void mainWindow::checkbox1action() {
  // mutual exclusivity
  checkbox2->setChecked(!checkbox1->isChecked());
  checkbox3->setChecked(!checkbox1->isChecked());

  // action for checkbox 1
  ...
}

同樣適用於所有其他復選框。 但是,例如,對於 colors 有 15 個復選框,此操作變得非常重復。 對於許多復選框,還有其他更好的方法嗎?

您可以將復選框添加到QButtonGroup並將其設置為獨占。

QButtonGroup *group = new QButtonGroup(this);
group->setExclusive(true);
group->addButton(checkbox1);
group->addButton(checkbox2);

還有QRadioButton ,它在同一個小部件中自動排他。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM