【问题标题】:Move the cursor to the start after auto-completion自动完成后将光标移动到开头
【发布时间】:2019-02-09 06:10:15
【问题描述】:

我有一个小程序,我使用行编辑来自动完成。选择文本后,我的光标转到文本的末尾。那么如何将我的光标设置到起始位置呢?

我的代码:

import sys
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QApplication, QCompleter, QLineEdit, QStringListModel

def get_data(model):
   model.setStringList(["completion_xxxxxxxxxx", "data_yyyyyyyyyy", "goes_ccccccccc", "here"])

if __name__ == "__main__":

    app = QApplication(sys.argv)
    edit = QLineEdit()
    edit.setCursorPosition(0)
    completer = QCompleter()
    edit.setCompleter(completer)

    model = QStringListModel()
    completer.setModel(model)
    get_data(model)

    edit.show()
    sys.exit(app.exec_())

但我想这样显示:

【问题讨论】:

    标签: python pyqt qlineedit qcompleter


    【解决方案1】:

    假设您希望光标在完成后移动,您可以将完成者的activated 信号与单次计时器一起使用,如下所示:

    completer.activated.connect(
        lambda: QTimer.singleShot(0, lambda: edit.home(False)))
    

    【讨论】:

    • 非常感谢您的回复,我还有一个疑问可以问吗?
    • 我想删除表格小部件中边框的特定单元格我尝试了很多方法。有一些方法可以删除完整的边框,但我没有找到任何删除特定边框的方法如果您知道表格小部件中的边框行,请告诉我。
    • @gowthami 为此,您应该提出一个新问题,因为它是完全不同的主题。
    • 先生,我在堆栈溢出中多次询问,但没有人给出答案,但在我的项目中,我需要那个主题。谢谢
    • @gowthami 我看了your questions,但我看不到有关该主题的内容。你指的是哪一个?
    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2019-04-07
    相关资源
    最近更新 更多