Python中文
首页
教程
问答
标签
搜索
登录
注册
当光标在子widg上时,mouseMoveEvent没有启动
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>当鼠标在<code>QWidget</code>内移动时,我试图通过重新实现<code>QWidget::mouseMoveEvent()</code>来捕获光标坐标。启用鼠标跟踪后,当我在主小部件周围移动光标时,将生成鼠标移动事件。但是,当光标放在子小部件上时,鼠标移动事件将停止。</p> <p>鼠标按下/释放事件在光标位于同一子窗口小部件上时工作,如果按住鼠标按钮,则移动事件将正确触发。我也试过在孩子们身上启用鼠标跟踪,但似乎没什么区别。<strong>当鼠标位于子小部件上时,如何触发鼠标移动事件?</strong></p> <p>下面是一个最小的工作示例,演示了该问题:</p> <pre><code>import sys from PyQt4 import QtCore, QtGui class MyWindow(QtGui.QWidget) : def __init__(self): QtGui.QWidget.__init__(self) tabs = QtGui.QTabWidget() tab1 = QtGui.QWidget() tab2 = QtGui.QWidget() tabs.addTab(tab1, "Tab 1") tabs.addTab(tab2, "Tab 2") layout = QtGui.QVBoxLayout() layout.addWidget(tabs) self.setLayout(layout) self.setMouseTracking(True) def mouseMoveEvent(self, event): print 'mouseMoveEvent: x=%d, y=%d' % (event.x(), event.y()) app = QtGui.QApplication(sys.argv) window = MyWindow() window.setFixedSize(640, 480) window.show() sys.exit(app.exec_()) </code></pre> <p>当鼠标移到<code>QTabWidget</code>之外时,鼠标坐标按预期打印。在里面,除非按住鼠标键,否则什么都不会发生。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我将尝试在调用QTabWidget构造函数时通过传递self使您的QTabWidget成为MyWindow的逻辑子级。同时为tab小部件的子部件传递父部件,但将tab小部件变量<code>tabs</code>传递给它们各自的构造函数。如果没有这样声明的子层次结构,事件可能无法正确地转发到包含的小部件,因为从qt场景图/事件队列的角度来看,它的“子”将被视为在类顶部绘制的单独小部件。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
7 回答
如何合并多个xarray数据变量及其坐标?
5 回答
如何合并多个列中具有重复值的行
3 回答
如何合并多个唯一id
8 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
3 回答
如何合并多个字典并添加同一个键的值?(Python)
6 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
8 回答
如何合并多个数据帧
6 回答
如何合并多个数据帧并使用Pandas为假人添加列?
5 回答
如何合并多个数据帧并按时间戳排序
3 回答
如何合并多个数据帧的列表并用另一个lis标记每列
2 回答
如何合并多个数据框中的列
5 回答
如何合并多个文件?
3 回答
如何合并多个查询集?
4 回答
如何合并多个绘图?
5 回答
如何合并多个词典
9 回答
如何合并多个输入数据集(数据帧)?
5 回答
如何合并多条记录中拆分的文本行
10 回答
如何合并多索引列datafram
8 回答
如何合并多级(即多索引)数据帧?
1 回答