2
是否可以禁用QFontComboBox的键盘输入?下面的代码:为QFontComboBox禁用键盘输入
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class FontComboBox(QFontComboBox):
def __init__(self, parent=None):
super(FontComboBox, self).__init__(parent)
if __name__ == '__main__':
app = QApplication(sys.argv)
fonts = FontComboBox()
fonts.show()
sys.exit(app.exec_())
给我(的Mac OS X 10.8,PyQt4.8)的组合框是编辑,并让用户输入基本上什么。 QtCreator,在另一方面,有这很好的解决方案:
这看起来更像是一个普通的QComboBox。我搜索了很多,但似乎无法找到禁用键盘输入/更改QFontComboBox外观的设置。有任何想法吗?
ekhumoro,感谢(再次)!结果发现实际问题是其他问题:这个特定的fontbox属于QTreeView中的一个项目。它是由QStyledItemDelegate的子类的.createEditor()返回的。当将isEditable()设置为False时,QTreeView的编辑被完全禁用。在阅读完答案后,我知道在哪里查找问题,将不可编辑的fontbox包装在小部件中,并让.createEditor()返回该小部件。 – Henry