python做一个窗口样式_python – 在PyQt中设置QCompleter的弹出窗口样式

在PyQt中,如何为与QComboBox关联的QCompleter弹出窗口应用样式表?本文介绍了一种实现方法,包括创建自定义的autoFillField类,设置过滤模型,并连接信号和槽以更新完成模式。尽管可以为组合框本身设置样式,但未直接说明如何自定义弹出窗口的样式。
摘要由CSDN通过智能技术生成

是否可以将样式表应用于与QCombobox绑定的QCompleter的弹出窗口部分?如果没有,它是否需要委托魔法?如果是这样的话,那怎么可能会像他们一样工作,往往会让我感到困惑.这是我的小部件代码:

class autoFillField(QComboBox):

def __init__(self, parent=None):

super(autoFillField, self).__init__(parent)

self.setFocusPolicy(Qt.NoFocus)

self.setEditable(True)

self.addItem("")

self.pFilterModel = QSortFilterProxyModel(self)

self.pFilterModel.setFilterCaseSensitivity(Qt.CaseInsensitive)

self.pFilterModel.setSourceModel(self.model())

self.completer = QCompleter(self.pFilterModel, self)

self.completer.setCompletionMode(QCompleter.UnfilteredPopupCompletion)

self.setCompleter(self.completer)

self.setStyleSheet(STYLING FOR COMBOBOX HERE, BUT NOT POPUP)

self.lineEdit().textEdited[unicode].connect(self.pFilterModel.setFilterFixedString)

def on_completer_activated(self, text):

if text:

index = self.findText(text)

self.setCurrentIndex(index)

def setModel(self, model):

super(autoFillField, self).setModel(model)

self.pFilterModel.setSourceModel(model)

self.completer.setModel(self.pFilterModel)

def setModelColumn(self, column):

self.completer.setCompletionColumn(column)

self.pFilterModel.setFilterKeyColumn(column)

super(autoFillField, self).setModelColumn(column)

弹出式样式是否会发生在组合框类中,还是会发生在通过addItems输入数据的外部?提前致谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值