做为一个新手,这个功能耗费了大半天时间,先将测试出来的代码分享出来: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) # 解除禁用
写出来为了本身的记录,也为了方便有缘人.测试