【问题标题】:How to set cursor when it is in some area?当光标在某个区域时如何设置光标?
【发布时间】:2016-03-29 20:23:25
【问题描述】:

我的小部件上有一些矩形链接区域。光标Qt::PointingHandCursor在这个区域时最好的方法是什么?

【问题讨论】:

  • 如果不是子小部件,您如何处理链接区域上的交互?
  • 我绘制文本并处理点击信号。我的问题是没有小部件离开信号,所以当我向上移动光标时,它会保持覆盖光标。实际上我想在菜单栏的右侧建立一个链接。 stackoverflow.com/questions/34433958/…
  • 你知道如何添加小部件来解决我的问题吗?

标签: qt qtgui mouse-cursor


【解决方案1】:

QWidget 类有一个 cursor 属性,您可以使用希望在鼠标上方显示的光标进行设置。

编辑: 如果没有更多关于你想要达到的目标的细节,我只能假设你让你的生活变得比它需要的更困难。您可以创建一个QLabel 小部件来处理链接,然后自动将标签放在菜单栏上。

QLabel *link = new QLabel("<a href='http://doc.qt.io'>Qt Documentation</a>");
menuBar()->setCornerWidget(link);

所有文本格式、光标显示和用户交互都由Qt 类中的现有代码处理。您需要自己做的唯一一件事就是处理用户单击链接时发生的事情,您可以通过将插槽连接到 QLabel::linkActivated(const QString &amp;) 信号来完成。

【讨论】:

  • myWidget.setCursor(Qt::PointingHandCursor);
猜你喜欢
  • 1970-01-01
  • 2012-04-26
  • 2011-12-21
  • 1970-01-01
  • 2016-10-19
  • 2023-03-15
  • 1970-01-01
  • 2016-04-30
相关资源
最近更新 更多