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