这是一个有趣的症状:
当对话框本身具有焦点时,同一对话框中的两个不同QLineEdit
字段同时闪烁光标。
(目标是停止没有焦点的字段中的闪烁,因为它会导致用户混淆和潜在的用户错误。)
当您选择其他窗口(即从相关对话框中删除焦点)时,其中一个字段仍然有一个闪烁的光标。
再次激活该对话框时,两个字段再次闪烁。
如果您在任一字段中单击鼠标左键,则闪烁的光标将停止在另一个字段中,如预期的那样。
焦点(即捕获键盘输入的字段)似乎表现得像您期望的那样,即一次只有一个字段接收键盘输入。
标签序列按预期工作。
这是在QtDesigner
中构建的,但在下游代码中经过了大量修改。任何想法如何发生这种情况?
有些类似的问题是关于对话框有自己的事件循环还是有什么效果?
答案 0 :(得分:0)
通过反复试验偶然发现了这个解决方案:只是打嗝'焦点,即将其设置为您不想闪烁的那个(在这种情况下为messageField),然后将其设置为您想要闪烁的那个(teamField):
self.newEntryWidget.ui.messageField.setFocus()
self.newEntryWidget.ui.teamField.setFocus()
我不确定为什么会这样,但它确实有效。希望其他人会觉得这很有用。