问题标签 [qmouseevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1470 浏览

c++ - Qt C++ QLabel可点击鼠标事件不起作用

我有一个很大的疑问和问题。在尝试了很多教程和示例后,我的 QLabel 中无法接收到信号点击。如果我也这样做,但在 QDialog 中(而不是在 QLabel 中),我可以知道鼠标的状态。

我粘贴了我的示例代码,在此之前,我介绍了制作项目的步骤:

我创建了一个项目,创建了一个 QMainWindow(命名为 testWindow,以图形方式创建),之后,我添加了一个 QLabel(lblMouse),我将 mouseTracking 属性标记为 true。执行后,我的 QLabel lblMouse 对我的鼠标事件没有反应。

另一个疑问是:执行我的程序后,我的QLabel的文本不是我在他的构造函数中分配的“Hello”,它会在ui执行后执行吗?我可以使用 ui->lblMouse->setText("Hello"); 从 ui 的构造函数中更改它。(可能我有一个错误,我是一名 C 程序员,我正在尝试进入 C++ 世界)

之后,我编辑代码(testWindow.cpp 和 testWindow.h):

这是我的cpp代码:

这是我的 h 文件:

另外,这是我的 .ui 文件(感谢@Thomas):

编辑:

我在控制台中看到运行时错误(不是编译错误,我在运行程序后收到此消息,但它继续运行):

  • QObject::connect: ../testwindow.cpp:17 中没有这样的信号 QLabel::Mouse_Left()
  • QObject::connect: (发件人名称: 'lblMouse')
  • QObject::connect:(接收者名称:'testWindow')

PD:我不确定这是否是问题所在。我已经测试了其他方法来做到这一点,但我没有很好的结果。

谢谢!

0 投票
1 回答
590 浏览

qt - 尝试使用 QMouseEvent

我对 QMouseEvent 有疑问:

我创建了一个场景,并在场景中插入了一些 QGraphicsPixmapItem。现在我想在单击指定的 QGraphicsPixmapItem 时输入“if”。

例如,当我单击 img_manoG1 时,我想输入第一个“if”

如何告诉程序停止并等待鼠标输入?

TI 是 Qt 的新手,这是我第一次使用这些对象,所以我犯了很多逻辑错误,所以使用 QStateMachine 这是一个大问题......

这是唯一的方法吗?我试着解释我的程序:

我想创建一个纸牌游戏,在以前的版本中,我使用了一个带有以下命令序列的旧图形库:

这样我告诉程序:

现在我想改变程序图形,我已经介绍了 QGraphics。我创建了一个场景并在其上打印所有对象“卡片”,所以现在我想告诉程序:

问题是我使用for1 到 20(我必须在一场比赛中跑 20 次)。我尝试使用随机的 G1 和 COM 播放来启动程序,但应用程序冻结到最后一次执行,for并且我在场景上仅打印卡的最后配置。这就是原因,因为之前我说过我希望程序停止......

没有 QStateMachine 可以吗?简单地告诉他:“暂停”,打印这种情况,等待鼠标继续?

0 投票
2 回答
371 浏览

c++ - QStateMachine - QMouseEvent

在另一个问题中,您告诉我使用 QStateMachine。

我是 Qt 新手,这是我第一次使用这些对象,所以我犯了很多逻辑错误,所以使用 QStateMachine 这是一个大问题......

这是唯一的方法吗?我试着解释我的程序:

我想创建一个纸牌游戏,在以前的版本中,我使用了一个带有以下命令序列的旧图形库:

这样我告诉程序:

现在我想改变程序图形,我已经介绍了 QGraphics。我创建了一个场景并在其上打印所有对象“卡片”,所以现在我想告诉程序:

问题是我使用for1 到 20(我必须在一场比赛中跑 20 次)。我尝试使用随机的 G1 和 COM 播放来启动程序,但应用程序冻结到最后一次执行,for并且我在场景上仅打印卡的最后配置。这就是原因,因为之前我说过我希望程序停止......

没有 QStateMachine 可以吗?简单地告诉他:“暂停”,打印这种情况,等待鼠标继续?

0 投票
1 回答
2071 浏览

c++ - 如何使用 Qt4 在 Qgraphicsview 中动态(运行时)绘制矩形

使用 QT Creator 2.4.1 版。

我只是 QT 平台上的初学者,并试图动态绘制一个矩形。该程序使用3个鼠标事件,即

  • 鼠标按下事件
  • 鼠标移动事件
  • 鼠标释放事件

问题是mouseMoveEvent永远不会被调用。

这是代码片段

主文件

对话框.cpp

对话.h

mysquare.cpp

mysquare.h

请指导我,谢谢。

0 投票
1 回答
2384 浏览

c++ - 如何将新行添加到现有的 QTablewidget

mouseEvent上车的问题QTableWidget,这段代码是创建一个窗口tabelwidgetmouseclickevent当我单击鼠标右键时,我有两个名为“添加”和“删除”的动作事件选项,我想在单击时添加 3 列的新行“添加”事件功能,并在我单击“删除”事件功能时删除最后一行,

(对不起我的英语),任何帮助表示赞赏。

0 投票
1 回答
2396 浏览

c++ - 我怎样才能获得 QTableWidget 的委托?

在 QTableWidget 上获取代表时出现问题,我正在尝试使用两个代表(comboboxdelegate、spinbox 代表)来控制具有 2 列和 1 行的 QTableWidget 中的用户输入,但是在阅读了 Delegate Classes 页面并查看了 SpinBox & comboox Delegate例如,我以为我已经弄清楚事情是如何运作的,但显然还没有。

(对不起我的英语),任何帮助表示赞赏。

代码如下。

记事本.h 文件

记事本.cpp 文件

main.cpp 文件

0 投票
2 回答
782 浏览

c++ - 使 QML 项目/控件接受事件,因此不将它们转发给父级

我继承QQuickWindow并创建了一个可以通过拖动移动的无框窗口。在我的窗口里面我放了一个Slider元素。问题是Slider将事件转发到父窗口,当我尝试更改滑块上的值时,窗口会随之移动。以下是它的行为方式:

在此处输入图像描述

是否有可能使滑块接受鼠标事件而不是将它们转发到窗口?

这是我的代码:

主文件

main.qml

我的窗口.h

我的窗口.cpp

0 投票
1 回答
327 浏览

c++ - QWidget::mousePressEvent() 同时在两个小部件上

我正在尝试QWidget::mousePressEvent()一次运行两个处理程序。我有两个小部件,A 和 B。B 继承自QLabel,A 继承自QWidget。我已经超载QWidget::mousePressEvent()了他们两个。B 的小部件正在获取QPoint光标位置并且它正在工作。小部件正在从 B 类获取此信息,但不幸的是,只有当我单击小部件 B 之外的其他位置(蓝色区域)时。那么QWidget::mousePressEvent()如果我单击小部件 B 的棕色空间,我应该怎么做才能从小部件 A 运行?

在此处输入图像描述

0 投票
1 回答
1215 浏览

python - 在 QWidget 中使用 PyQt4.QtGui.QMouseEvent

我使用 PyQt4.QMainWindow 作为我的应用程序界面,我想在 QWidget 中获取鼠标的 x 和 y 坐标,并在 MainWindow 的 2 个 textBrowsers 中连续设置它们。

QWidget 的文档在这里

QMouseEvent 的文档在这里

这是代码

0 投票
2 回答
1480 浏览

javafx - 如何检测 JavaFx 鼠标事件何时发生在 TitledPane 的“标签”中?

我有一个带有多个 TitledPanes 的手风琴。当 TitledPane 展开时,窗格上会出现没有子组件(例如,按钮、文本等)的“死区”。

现在,当我检查 MouseEvent.getSource() 时,它会返回所有区域的 TitledPane 实例。有没有办法专门限制/检查鼠标单击 TitledPane 的“标题”部分?