首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何滚动QLabel?

如何滚动QLabel?
EN

Stack Overflow用户
提问于 2012-10-30 04:04:11
回答 1查看 2.3K关注 0票数 2

我正在尝试在Meego/Qt/QML上实现Picture Zoom /Out和Picture Scroll。

我写了一个A类,它是从QLabel继承来的。

代码语言:javascript
复制
A::A( "parent" )
{
  setAlignment();
  setGeometry();
  setScaledContents();
}

现在我有了一个控制器类B。这个类负责处理从QML到my的事件。在我的控制器类中,我用以下方式进行实例化。

代码语言:javascript
复制
B :: B()
{
 a = new A();
 proxyWidget = new QGraphicsProxyWidget();
 proxyWidget->setWidget(a); 
}

因为这是一个基于QML的应用程序,所以我正在处理来自QML的事件。

对于Zoom,我使用了PinchArea。每当我得到PinchUpdated事件时,我就相应地设置QLabel的setGeometry。我在放大和放大。

对于滚动,我使用了MouseAreaonPositionChanged事件。但是,在调用QLabel的滚动API之后,我无法滚动label事件。

有人能告诉我我哪里做错了吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-30 08:29:10

例如,我假设您希望使用鼠标滚动来缩放。

我不擅长QML,但您当然应该在您的类A中处理车轮事件。对于我来说还不清楚每个Qt事件是否都有一个QML等价,但是您总是可以放入C++代码。执行的职能是:

代码语言:javascript
复制
 virtual void wheelEvent ( QWheelEvent * event );

您有一个德尔塔变量,它可以用来确定缩放的速度(使用增量绝对值),以及它是应该增长还是缩小(使用增量符号)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13132485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档