Python PyQt5-两个同时闪烁的光标

Python PyQt5-两个同时闪烁的光标,python,pyqt,cursor,Python,Pyqt,Cursor,这是一个有趣的症状: 当对话框本身具有焦点时,同一对话框中的两个不同的QLineEdit字段同时都有闪烁的光标 (目标是在没有焦点的字段中停止闪烁,因为它会导致用户混淆和潜在的用户错误。) 当您选择不同的窗口(即从相关对话框中移除焦点)时,其中一个字段的光标仍在闪烁 再次激活该对话框时,两个字段都会再次闪烁 如果在任一字段中单击鼠标左键,闪烁的光标将按预期在另一字段中停止 焦点(即捕获键盘输入的字段)的行为似乎与您预期的一样,即一次只有一个字段接收键盘输入 选项卡序列按预期工作 这是内置的Qt

这是一个有趣的症状:

当对话框本身具有焦点时,同一对话框中的两个不同的
QLineEdit
字段同时都有闪烁的光标

(目标是在没有焦点的字段中停止闪烁,因为它会导致用户混淆和潜在的用户错误。)

当您选择不同的窗口(即从相关对话框中移除焦点)时,其中一个字段的光标仍在闪烁

再次激活该对话框时,两个字段都会再次闪烁

如果在任一字段中单击鼠标左键,闪烁的光标将按预期在另一字段中停止

焦点(即捕获键盘输入的字段)的行为似乎与您预期的一样,即一次只有一个字段接收键盘输入

选项卡序列按预期工作

这是内置的
QtDesigner
,但在下游代码中进行了大量修改。你知道怎么会这样吗


一些类似的问题谈到对话框有自己的事件循环或类似的问题?

通过反复试验,偶然发现了这个解决方案:只需“打嗝”焦点,即将其设置为您不想闪烁的焦点(本例中为messageField),然后将其设置为您想闪烁的焦点(teamField):


我不知道为什么会发生这种情况,但它似乎确实起了作用。希望其他人会发现这一点很有用。

除非你能提供一个例子,否则这个问题是毫无意义的。我确实认为对于一个例子的要求有例外,当症状非常具体,并且创建测试用例的复杂性非常大时。显然,它将受众限制在那些可能见过类似情况的人身上。没有任何代码过于复杂而无法开发测试用例。这只是一个分而治之的问题。识别特定的bug(并找出如何修复它)有时可能非常困难,但是创建测试用例很容易。(当然,这是假设您已经排除了平台/系统特定问题的可能性)。
self.newEntryWidget.ui.messageField.setFocus()
self.newEntryWidget.ui.teamField.setFocus()