Pyqt5 选中QComboBox下拉框中信息 并触发事件

制作系统时需要使用comboBox下拉框选中并立即触发事件,代码如下:

    self.reco_comboBox.currentIndexChanged.connect(
        lambda: self.model_init(self.reco_comboBox.currentIndex()))


    #model_init函数的实现的核心代码
    # 加载相关参数,并初始化模型
    def model_init(self,tag):
        if tag == 1:   #当下拉框选中"1"触发事件
        """
        代码省略
        """

效果展示:

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 当使用 QSS (Qt Style Sheets) 设置 QComboBox 的样式时,下拉框弹出时会闪烁的原因可能是因为 QComboBox下拉框弹出时会创建一个新的窗口,并在该窗口上渲染下拉框的项目。在这个过程QComboBox 会应用样式表,并且因为这些样式在窗口创建之前并没有被应用,所以会导致闪烁的现象。 如果你想要避免这种闪烁的现象,你可以尝试在应用样式之前,使用 setStyle() 方法将样式设置为 nullptr,然后再应用样式表。例如: ``` comboBox->setStyle(nullptr); comboBox->setStyleSheet(styleSheet); ``` 这样做可以使 QComboBox下拉框弹出时不再创建新的窗口,从而避免闪烁的现象。 ### 回答2: QCombox设置了qss以后,每次下拉框弹出会闪烁的原因可能有以下几个方面: 1. QSS样式问题:QSS是一种用于定义QT界面样式的技术,如果在设置QCombox的QSS样式时出现了问题,可能导致下拉框弹出时闪烁。这可能是由于设置的样式与默认的样式冲突,或者某些控件的样式没有正确设置。 2. 刷新问题:下拉框的弹出是通过重新绘制控件来实现的,如果刷新机制有问题,也可能导致下拉框闪烁。这可能是由于界面刷新频率太低或无效导致的。 3. 窗口叠加问题:在某些情况下,下拉框弹出时可能会与其他窗口或控件发生重叠,引起闪烁现象。这可能是由于窗口布局或控件层级设置问题导致的。 为解决下拉框闪烁问题,可以尝试以下方法: 1. 检查并修正QSS样式,确保设置的样式与默认样式兼容,避免冲突。 2. 调整界面刷新机制,可以增加刷新频率,或优化重绘过程,确保下拉框的弹出过程流畅。 3. 检查窗口布局和控件层级设置,确保下拉框能够正常显示,避免与其他窗口或控件发生重叠。 综上所述,下拉框闪烁问题可能由QSS样式问题、刷新问题或窗口叠加问题引起。通过检查和修正这些问题,可以解决下拉框闪烁的现象,确保界面的正常显示。 ### 回答3: 当QCombox设置了qss后,每次下拉框弹出会闪烁的原因可能有多种。 首先,闪烁可能是由于qss样式设置的动画效果导致的。在qss,我们可以通过设置动画属性来给控件添加过渡效果,比如设置了一个渐变动画效果,因此在下拉框弹出时可能会出现闪烁的效果。 其次,闪烁还可能是由于控件属性的变化引起的。当下拉框弹出时,控件的属性可能会发生变化,比如背景颜色、字体颜色等,这些变化可能会导致视觉上的闪烁感。 另外,闪烁还可能由于QCombox自身的绘制机制引起。在下拉框弹出时,QCombox可能会重新绘制自身,这个过程可能会引起部分控件的重绘,从而导致闪烁的效果。 要解决这个问题,可以尝试以下方法。 首先,可以尝试去除qss样式的动画效果,或者调整动画的属性,比如减慢动画的速度,从而减少闪烁的感觉。 其次,可以尝试设置控件的属性变化在下拉框弹出之前进行,比如在下拉框弹出之前先将控件的属性设置为要显示的状态,这样可以减少闪烁的效果。 最后,如果以上方法无效,可以考虑使用其他方式来实现类似的下拉框控件,以避免闪烁问题。比如可以使用QComboBox的代替控件,或者自定义下拉框控件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lc_MVP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值