gpt4 book ai didi

c++ - 如何使用 QLineEdit 使光标从其内容的开头开始?

转载 作者:行者123 更新时间:2023-12-01 21:39:36 25 4
gpt4 key购买 nike

Windows 7 SP1
MSVS 2010
Qt 4.8.4

这段代码:

#include <QTGui>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow* window = new QMainWindow;
QLineEdit* line_edit = new QLineEdit;

line_edit->setText("ABCDEFG");
line_edit->setFixedSize(40,20);
window->setCentralWidget(line_edit);
window->show();
return app.exec();
}

显示:

enter image description here

请注意,“AB”被截断,并且光标位于行编辑的末尾。

我希望它显示:

enter image description here

这里“FG”被截断,光标位于行编辑的开头。

我尝试设置CursorPosition和cursorBackward但无济于事。如果我通过字体度量的 elidedText 转换文本,它将从头开始显示,并带有尾随“...”。但我不想那样做。

问题:有没有办法让光标在显示 QLineEdit 后从其内容的开头开始?

最佳答案

在设置文本后将光标位置设置为 0 应该可以正常工作。至少在 Linux Qt 4.8.3 上是这样。

#include <QtGui>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow* window = new QMainWindow;
QVBoxLayout* layout = new QVBoxLayout;
QLineEdit* line_edit = new QLineEdit;

line_edit->setText("ABCDEFG");
line_edit->setFixedSize(40,20);
line_edit->setCursorPosition(0);
layout->addWidget(line_edit);
window->setCentralWidget(line_edit);
window->show();
return app.exec();
}

关于c++ - 如何使用 QLineEdit 使光标从其内容的开头开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14968663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com