Я новичок, работающий над QT. В основном я создаю окно QTextEdit в QT, и я хочу, чтобы курсор отображался в исходном положении. Отобразить курсор на QTextEdit в QT4.8.5
Мой простой кодекс:
#include "mainwindow.h"
#include <QApplication>
#include <QLabel>
#include <QFont>
#include <QtGui>
#include <QPixmap>
#include <QTextEdit>
#include <QTextCursor>
#include <QLineEdit>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
w.setStyleSheet("background-color: yellow;");
w.show();
QTextEdit *txt = new QTextEdit();
txt->setText("Text 1");
txt->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
txt->setFocus();
txt->setStyleSheet("background-color: rgba(255, 255, 255, 200);");
txt->setGeometry(10,20,100,30);
txt->show();
return a.exec();
}
Это создает простое текстовое поле в окне ш.
Я не использую мышь или клавиатуру, потому что это для встроенной аппаратной платы.
Но после отображения текста должен отображаться курсор.
Я пробовал различные метод, чтобы получить курсор, отображаемый на QTextEdit как:
QTextCursor cursor;
QTextEdit *editor = new QTextEdit();
QTextCursor cursor(editor->textCursor());
cursor.movePosition(QTextCursor::Start);
cursor.setPosition(5);
cursor.setPosition(9, QTextCursor::KeepAnchor);
txt->moveCursor(QTextCursor::End,QTextCursor::MoveAnchor);
txt->setCursorWidth(20);
txt->setTextCursor(cursor);
Но ни один из метода не отображает курсор. Я сделал через большинство сообщений в SO.
Может ли кто-нибудь помочь? Большое спасибо.
P.S: Решения, полученные на форумах QT до сих пор.
Вы, кажется, не хватает, по крайней мере 'возвращение a.exec()' в конце основной() –
я добавил обратный a.exec(), но забыл вставить его в то время как копирование здесь. Я редактировал свой код. Спасибо – vk41286
Документация для http://doc.qt.io/qt-4.8/qwidget.html#setFocus говорит, что она только устанавливает фокус, если виджет находится в активном окне. Вы пробовали этот метод, чтобы убедиться, что QTextEdit является активным окном? http://doc.qt.io/qt-4.8/qwidget.html#activateWindow –