做爲一個新手,這個功能耗費了大半天時間,先將測試出來的代碼分享出來:less
cBox.model().setData(index, v, Qt.UserRole - 1) # 禁用comboBox的指定項目
當咱們須要同時禁用comboBox內的多個項目時,可用寫成如下函數:函數
# -->>>批量禁用comboBox項目>>>>>>>>- def disable_item_comboBox(self, cBox, List, v=0): """ 將下拉按鈕中的某些項目批量禁用 :param cBox: comboBox對象 :param List: 須要禁用的項目,列表數據,如[1,2,5,6] :param v: 0爲禁用,1|32爲解除 """ for i in range(len(List)): index = cBox.model().index(List[i], 0) # 選擇須要設定的項目 # print(List[i]) cBox.model().setData(index, v, Qt.UserRole - 1) # 禁用comboBox的指定項目
使用的時候,禁用多個項目只須要簡單的調用便可:self.disable_item_comboBox(self.cBox_chainOpenWindow_wireless, [0, 1, 2, 3, 4], 0) # 禁用無線功能的部分選項
解除禁用也只須要以下調用:self.disable_item_comboBox(self.cBox_chainOpenWindow_wireless, [0, 1, 2, 3, 4], 1 | 32) # 解除禁用
寫出來爲了本身的記錄,也爲了方便有緣人.測試