美文网首页
Qt5踩坑记录

Qt5踩坑记录

作者: JohnAo_ | 来源:发表于2019-04-28 17:32 被阅读0次

    在学习和使用Qt5的过程中遇到过不少“坑人”之处,在此略作记录。

    QGraphicsView无法检测鼠标移动

    最初我在主窗口加入了如下代码

    QGraphicsView gview;
    gview.setMouseTracking(true);
    gview.installEventFilter(this);
    

    但令人失望的是,当鼠标在gview内部移动时eventFilter中并没有获取到QEvent::MouseMove类型的事件,反而当鼠标在gview边界上移动时会接收到鼠标移动事件。实际上Qt中包含QGraphicsView在内的很多控件有一个viewport表示它的内部,所以应该将将上述代码修改为

    QGraphicsView gview;
    auto gviewport=gview.viewport();
    gviewport->setMouseTracking(true);
    gviewport->installEventFilter(this);
    

    界面中文显示出现乱码

    如果你使用的是msvc,那么如果修改代码源文件的编码为utf-8没有效果的话,还需要在代码文件头加入如下编译指令,指定使用的字符集

    #if _MSC_VER >= 1600
    #pragma execution_character_set("utf-8")
    #endif
    

    相关文章

      网友评论

          本文标题:Qt5踩坑记录

          本文链接:https://www.haomeiwen.com/subject/mmsjnqtx.html