问题标签 [qevent]

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 回答
14550 浏览

c++ - 如何使用 focusInEvent 和 focusOutEvent

我正在实现一个应用程序,其中我有 3QToolButton并且当焦点出现在任何QToolButton它应该的时候resize。我的一位朋友给了我答案,但我无法弄清楚,因为我QMainWindow也在我的 mainWindow 中继承类。他也说要继承QToolButton。但是会出现多重继承问题。那么具体如何使用focusInEvent()

我的窗口.cpp:

我必须合并的朋友的代码:

0 投票
1 回答
1457 浏览

qt - 等价于 QEvent ApplicationDeactivate

我使用这些事件QEvent::ApplicationActivateQEvent::ApplicationDeactivate在需要时显示/隐藏我的应用程序的某些部分。

但是现在,这些事件被标记为已弃用

此枚举已被弃用。请改用 ApplicationStateChange。

所以我试图切换到这个事件。它应该在应该触发的时候触发,但是我找不到通过某种强制转换或任何 getter 来获取应用程序状态的方法。

有任何想法吗 ?

0 投票
1 回答
1018 浏览

c++ - 获取 QPainter 的可见区域

QWidget在 a中有一个所有者绘制的QScrollArea,所以在绘画时,我只想绘制可见的部分。为此,我需要有QPainter.

唯一的候选者是QPainter::viewport(),QPainter::window()QPainter::clipBoundingRect(),所以我把这段代码记录在他们的输出中:

然后我移动了水平和垂直滚动条,但记录的输出很奇怪:

如您所见,这些功能都没有给出实际的可见区域,我如何得到它?

0 投票
3 回答
260 浏览

c++ - Qt 制表符顺序键

用户可以通过键“Tab”或箭头键“<-”和“->”逐步浏览 QtGUI 的小部件。

有人知道如何为此禁用箭头键吗?我需要箭头键来做其他事情。

0 投票
2 回答
8489 浏览

qt - 如何从 QEvent 获取人类可读的事件类型?

我想调试事件处理代码,并想将QEvent::Type枚举的值转换为人类可读的字符串。QEvent有一个Q_GADGET宏,所以大概有办法把它拉下来?

0 投票
1 回答
4458 浏览

c++ - qt keypressevent()中的多个键

我正在尝试在 Qt 上创建一个玩家可以对角线进行的游戏。所以当我按下 W 和 D 时,玩家可以到右上角。但是,当我先按 W,然后按 D,然后松开 D,播放器不会向 W 方向移动。事实上,按住 W 键并没有发出调用 keypressevent() 函数的信号。但是,当我按 W,然后 D,然后松开 W 时,角色会朝 D 方向移动。

这是我的代码:

我不确定如何解决这个问题。任何可以帮助我的想法或链接都会很棒。先感谢您。

0 投票
1 回答
4651 浏览

c++ - 鼠标悬停在 QGraphicsPixmapItem 上后 Qt 显示工具提示

我正在使用 QGraphicView 来显示包含 QGraphicsPixmapItems 的游戏地图。我需要在鼠标悬停在 QGraphicsPixmapItem 时显示工具提示。

为了保存 QGraphicsPixmapItem 位置,我使用 MazeItem:

我有小部件类来显示游戏地图:

在构造函数中,我设置了鼠标跟踪。

这就是我添加新迷宫项目的方式。

这是我从 Qt 教程中获得的,

0 投票
2 回答
163 浏览

c++ - 当且仅当文本框具有焦点并且按下“输入”时才实现插槽功能?

基本上,我只想在用户“单击”文本字段并且按下回车键的情况下清除文本字段。经过一番研究,我发现您必须首先focusPolicy为每个小部件设置。完毕。

从这一点开始,我迷路了。据我所知,slot当满足这些条件时,我将需要实现一个函数来实现一个自定义函数。下面给出的伪代码是我所得到的。我搜索了 Qt 文档,发现零散的信息很少,但几乎没有任何关于所有功能合并的信息。

0 投票
0 回答
454 浏览

c++ - 屏幕保护程序上的 QT 发射信号(Windows)

QT 中有没有办法检测系统何时进入屏幕保护程序(在 Windows 中)?请记住,我的进程是后台进程并且并非一直处于活动状态,因此我不能将其用作 Qevent ......而且我不想尝试弄清楚用户是否没有触摸键盘或鼠标x次,只是为了检测电脑是否打开了屏幕保护程序......有什么想法吗?

0 投票
1 回答
289 浏览

qt - Qt - 由 qt 对象发送的信号调用由接收器对象覆盖的事件函数

Qt问题:

我正在从在线程 A 上运行的对象 A 向在线程 B 上运行的对象 B 发送信号。我还通过覆盖对象 B 中的虚拟事件函数来处理自定义事件。

面临的问题:当对象 A 发出任何信号时,对象 B 中的相应插槽不会被调用,而不是被对象 B 覆盖的事件函数被调用。那么如何从事件函数接收的 QEvent 对象中提取信号发送的参数对象 B 或如何推迟该事件以便调用相应的插槽。

对象 A 在 gui 线程中运行,它的职责是更新 gui。对象 B 正在实现 gui 逻辑并在不同的线程中运行。对象 A 正在通过信号和槽向对象 B 通知 gui 更改。对象 B 还处理来自另一个不是 QThread 的线程的事件。我为此使用自定义事件,并为此使用 postEvent() 函数来通知 Object B 。对象 B 具有用于接收自定义事件的覆盖事件函数。现在的问题是,当我从对象 A 向对象 B 发送任何信号以通知与 gui 相关的更改时,它被事件函数捕获并且相应的插槽没有被调用