c++ - Qt 在 Painter 设备外绘图

标签 c++ qt qpainter

我创建了 QToolBar 的子类,使上下文工具栏与 QGraphicsItem 相关联。

我想要添加的是一个小三角形指向我的工具栏弹出的位置。我知道 QPainter 不能在 QToolBar 之外绘制。但是有没有办法从图1画到图2

From this

To this

对不起。我的照片很糟糕。但你可以理解。

最佳答案

也许你应该创建一个新的小部件(或一个小的无框、无边框窗口),只有小三角形并将它放在所需的位置(即:x 坐标应该是 mouseX - width_of_window/2 和 Y 坐标应该是 mouseX - height_of_window)。

确保当滚动条未显示时隐藏小部件 (windows),并在鼠标操作时在计算出的全局坐标处显示它。

关于c++ - Qt 在 Painter 设备外绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23365326/

相关文章:

c++ - 如何将 QString 视为文件位置并获取其目录

c++ - 在 QPainter::end() 之前调用 QImage::save() 是否安全

c# - 从 C# 而不是 C++ 调用时,非托管库函数失败

python - 如何在 PySide 中获取 QProcess 运行的命令的输出?

c++ - 在 QThread 中运行长时间操作并向主线程发送信号仍然会卡住 UI

c++ - QPainter 保存状态

c++ - Qt drawRect 在后台

c++ - OpenCV 分水岭 : 4 point connectivity

c++ - 将 GetTickCount() vxWorks 转换为 Linux

c++ - 在 Delphi/C++ Builder 中对 TLabel 使用 TGlowEffect