Я пытаюсь имитировать щелчок мыши внутри QTextEdit
в Qt, так как мое приложение не имеет мыши или клавиатуры. Это встроенная аппаратная плата.Имитировать щелчок мыши внутри QTextEdit в Qt?
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
w.setStyleSheet("background-color: Black;");
w.startcomthread();
w.show();
QTextEdit *txt = new QTextEdit();
txt->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
txt->setFocus();
txt->setStyleSheet("background-color: rgb(255, 255, 255,200);");
txt->setGeometry(10,20,100,30);
txt->setText("Text 1");
QCursor::setPos((txt->pos()+=QPoint(10,10)));
QMouseEvent * event1 = new QMouseEvent ((QEvent::MouseButtonPress), QPoint(10,10),
Qt::LeftButton,
Qt::LeftButton,
Qt::NoModifier);
qApp->postEvent((QObject*)txt,(QEvent *)event1);
QMouseEvent * event2 = new QMouseEvent ((QEvent::MouseButtonRelease), QPoint(10,10),
Qt::LeftButton,
Qt::LeftButton,
Qt::NoModifier);
qApp->postEvent((QObject*)txt,(QEvent *)event2);
txt->show();
return a.exec();
}
При запуске приложения, я просто вижу курсор на моем TextEdit box.I хочет курсор, чтобы быть нажат/по-крайней мере, курсор должен мигать внутри TextEdit виджета.
спасибо.
Edit:
Изображение прилагается
Не мигает ли он по умолчанию, когда у него есть фокус? –
Нет, это не мигает. – vk41286
Возможно, это потому, что вы сначала имитируете щелчок мышью, а затем показываете редактирование текста. Попробуйте сначала показать, а затем имитировать щелчок. – Nejat