首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MacOS鼠标指针闪烁信号和QLineEdit闪烁光标

MacOS鼠标指针闪烁信号和QLineEdit闪烁光标
EN

Stack Overflow用户
提问于 2019-05-14 11:46:59
回答 1查看 405关注 0票数 2

我正在使用PyQt5在MacOS Mojave上开发一个小型媒体播放器应用程序。每当鼠标在鼠标指针改变形状的小部件上盘旋时,鼠标指针就开始闪烁(flash?),在普通鼠标指针和备用鼠标指针之间更改形状。

例如,如果我创建了一个QLineEdit小部件,当鼠标指针在小部件上盘旋时,鼠标指针就会更改为一个i束作为备用指针。通常,只要我在小部件上盘旋,鼠标指针就会改变形状。但是,在下面的测试应用程序中,鼠标指针不断地改变I-束指针和普通箭头鼠标指针之间的形状,以与小部件中的输入位置光标相同的速度来回变化。

这是一个显示问题的屏幕记录。请注意鼠标指针如何改变箭头之间的形状,i-束作为文本输入光标闪烁,当我键入和我选择文本。

在我的系统上显示此行为的示例代码:

代码语言:javascript
运行
复制
import sys
from PyQt5               import QtWidgets
from PyQt5               import QtCore


class MainWindow(QtWidgets.QMainWindow):
    sig = QtCore.pyqtSignal()
    def __init__(self):
        super().__init__()
        self.resize(400,400)
        self.cw = QtWidgets.QWidget(self)
        self.setCentralWidget(self.cw)
        self.l = QtWidgets.QVBoxLayout(self.cw)
        self.le = QtWidgets.QLineEdit(self.cw)
        self.l.addWidget(self.le)
        self.label = QtWidgets.QLabel()
        self.l.addWidget(self.label)
        self.show()

app=QtWidgets.QApplication([sys.argv])
w=MainWindow()
app.setActiveWindow(w)
exit_code = app.exec_()

sys.exit(exit_code)

在上面的代码中,我可以通过使用app.setCursorFlashTime(0)禁用行编辑游标闪存来解决这个问题。但是,这并不能解决我的应用程序中的问题。在我的应用程序中,其他小部件中的信号也会导致相同的鼠标指针形状改变(闪烁)行为。

版本详细信息:

MacOS Mojave 10.14.5

PyQt5 5.12.2

Python 3.7.3

我在过去开发过QtApplications,从来没有观察过这种行为,也不知道为什么会发生这种情况。

有谁有办法解决这种非常令人恼火的行为?

编辑:为清晰起见,将“鼠标光标”更改为“鼠标指针”。编辑:更新为MacOS 10.14.5,问题仍然存在。编辑:添加屏幕记录,以使问题更加清楚。

EN

回答 1

Stack Overflow用户

发布于 2019-05-15 16:44:52

回答我自己的问题:

这是Qt中的一个bug:

https://bugreports.qt.io/browse/QTBUG-75552

这似乎是5.12.2和5.12.3中的一个bug,安装5.12.1修复了鼠标指针,我认为5.12.4也将被修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56129711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档