使用PyQt5,我需要一个下拉式只读项目列表,用户可以从中选择一个项目。
因为这些项目看起来非常相似,并且它们的文本大部分包含递增的整数,例如C000345,C000367等,并且它们有几十种,对于操作员来说,如果不是横着眼睛扫描整个列表,而是可以输入“ 36”以仅查看包含字符串“ 36”的项目,则操作者会更容易,或到达第一个此类物品的位置。
但是,操作员没有必要能够编辑任何项目或更改列表。正如我所说的,这只是一个简单的选择下拉列表。
但是,由于Qt5设计的一个明显疯狂的方面,这两个要求发生了冲突:为了能够定义QCompleter,甚至使用QComboBox的默认QCompleter,必须将下拉列表定义为“可编辑”。将其定义为不可编辑会立即破坏所有关联的QCompleter。
因此,总而言之,我想知道是否有任何简单的方法来实现此目的,即,如果QComboBox(或它所需要的任何类似小部件)包含说“ A”,“ B”,“ C”的行,那么我想要操作员只需输入“ C”就能选择“ C”。但是我不希望他们能够更改任何这些行或添加新行。这不应该是火箭科学,但是显然PyQt5和Qt5就是这样!