信号编辑文本已更改为可编辑的QComboBox设置光标位置在设置编辑文本之后的末尾
Signal editTextChanged for editable QComboBox sets cursor position at end after setEditText
- 有可编辑的QComboxBox。它可以很好地处理所有功能,除了我们在 end 以外的位置编辑/插入/删除字符串字符的情况。例如"你好",如果我们删除"e"光标到达末尾。
- 当前 editTextChanged(string( 信号处理是这样的,在它里面 setEditText(string( 被调用,这导致光标到达末尾。
- 已经浏览了其他一些堆栈溢出论坛,人们建议使用 -> 保存初始光标位置,然后调用 setEditText 然后将光标重置为保存位置。这看起来不错,但看起来像解决方法解决方案。
- 想知道是否有其他方法i( 在失去焦点时调用 setEditText。(QFocusEvent 将不起作用,因为派生类继承自 QObject 而不是 QWidget(或ii( 调用 comboBox->lineEdit 功能来执行 setEditText。在下面尝试过,但它不起作用connect(qcomboBox->lineEdit((, SIGNAL(editDone(((, this, SLOT(textChanged((((;
以下是我浏览过的链接1(编辑完成可编辑的组合框2( 保存光标位置
您可以在 QComboBox 上安装事件过滤器,并以这种方式检测其焦点输入/输出事件。在文档中查找 QObject::installEventFilter;使用起来非常简单。
QComboBox 收到的所有事件都将首先通过您的课程,您可以决定如何处理它们(如果有的话(。这使您能够从另一个类(您的类(更改一个类的行为(即 QComboBox(,而无需子类化 QComboBox。
相关文章:
- 在QT C++编辑Qtable模型数据时,我需要得到一个小盒子,我需要显示编辑文本,这怎么可能?
- 如何将“编辑文本值”传递给函数
- C++ 从另一个程序窗口的内存中编辑文本
- 在C++的“编辑”文本框中禁用文本编辑,同时保持启用滚动
- Win32组合框,打印所选要编辑文本框的名称
- C++,打开和编辑文本文件中的数字数据,并将结果放入新文件中
- 当按下shift时,对编辑文本控件进行子类处理以接受小写字符
- C++读取然后编辑文本文件
- 如何在 C++ 中显示通知,当鼠标单击可编辑文本框时
- 检测富编辑文本控件中的换行符
- 可编辑的QComboBox:将编辑文本与项目文本同步
- 用C++编辑文本文件
- 如何使用 c++ 编辑文本文件数据
- C++ 编辑文本文件中行中的特定单词
- 如何使用C++编辑文本文件中的行
- 使用 C++/WinAPI/MFC 在编辑/文本框控件上捕获特殊单击事件
- 编辑文本框的SDL
- 信号编辑文本已更改为可编辑的QComboBox设置光标位置在设置编辑文本之后的末尾
- 在实现 OpenFileDialog 时,"System.IO.FileStream"显示在生成的编辑文本框中,而不是文件名和路径上。如何?
- Win32 API:如何使编辑文本仅在c++中接受无符号浮点数