【发布时间】:2020-09-24 05:25:06
【问题描述】:
我碰巧使用了 qcombobox,但找不到添加虚拟占位符的方法(就像我们在 tkinter 中一样)。 例如,我想要的组合框是这样的:
--选择一个--
苹果
香蕉
猕猴桃
我已经有了元素; Apple、Banana、Kiwi 就位,但我希望 --Choose One- 在我点击时消失。
**Tkinter version**
from tkinter import ttk
#---
#some code here
#---
lst = ['Apple','Banana','Kiwi']
self.w0 = ttk.Combobox(self, values = lst, state='readonly')
self.w0.set('--Choose One--') ### This is the functionality that I need
self.w0.pack()
**PyQt version**
from PyQt5 import QtWidgets
lst = ['Apple','Banana','Kiwi']
#---
#some code here
#---
self.comboBox = QtWidgets.QComboBox()
self.comboBox.addItems(lst)
self.layout.addWidget(self.comboBox) ## self.layout is defined but not shown here
### I might add it as an item of the comboBox like
### self.comboBox.addItem('--Choose One--') but it then becomes selectable
### which I don't want it to.
【问题讨论】:
-
您指出此功能是在 tkinter 中实现的,而我认为并非如此,您可以将实现该逻辑的代码与 tkinter 一起作为您提供的架构的基础有助于理解它的外观,但并不表明它的行为方式。
-
是的,你是对的,但代码当然不只包含那部分,但它需要功能。我只是想知道有没有办法实现它,我只是觉得我不必分享其余的代码
-
mmm,您指出:就像我们在 tkinter 中一样,所以我的要求是您提供该代码(涉及 tkinter 的代码)以便将其作为灵感因为我仍然不清楚你的目标。
-
好吧,我添加了一些行,希望它有助于解决问题。谢谢!