首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Qt中模拟QTextEdit中的鼠标点击?

在Qt中模拟QTextEdit中的鼠标点击?
EN

Stack Overflow用户
提问于 2015-06-10 12:32:31
回答 1查看 832关注 0票数 0

我尝试在Qt中模拟QTextEdit中的鼠标单击,因为我的应用程序没有任何鼠标或键盘。这是一块嵌入式硬件板。

代码语言:javascript
复制
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框上看到一个光标。我希望光标被单击//至少光标应该在textedit小部件中闪烁。

谢谢。

编辑:

图像已附加

EN

回答 1

Stack Overflow用户

发布于 2015-06-10 13:16:32

移动鼠标指针不是必需的(尽管您知道为什么需要移动鼠标指针),但用于在文本编辑中设置光标:

代码语言:javascript
复制
editWidget->activateWindow(); // some cases require
QFocusEvent* eventFocus = new QFocusEvent(QEvent::FocusIn);
qApp->postEvent(editWidget, (QEvent*)eventFocus);

你的editWidget是'txt‘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30747156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档