【问题标题】:Qt negative button not workingQt否定按钮不起作用
【发布时间】:2012-04-04 15:50:20
【问题描述】:

在我的 Qt symbian 应用程序中,我用返回键覆盖了负退出按钮以返回主屏幕,然后再次用退出覆盖它以关闭应用程序,我的应用程序在模拟器上运行良好,但是当我测试它时在设备上它显示退出按钮而不是返回,有时它也会显示回来但是如果我两次进入同一页面然后它再次开始显示退出按钮,令人沮丧的部分是应用程序在 Qt 模拟器上运行良好但在设备上运行良好。有人知道问题是什么吗。我正在使用

back->setSoftKeyRole(QAction::NegativeSoftKey);
this->addAction(back);

在加载屏幕之前跳过退出按钮并

back->setSoftKeyRole(QAction::NegativeSoftKey);
this->removeAction(back);

返回主窗口时移除返回按钮。

【问题讨论】:

  • 4.7 对不起,我错误地选择了两个
  • @talnicolas 你有什么建议吗?我真的很困,今天只需要解决它......

标签: qt symbian qt4.7


【解决方案1】:

创建垂直布局和小部件,您将在滚动区域上添加父类作为该类,例如

QVBoxLayout *vlay = new QVBoxLayout(this); 
QWidget *area = new QWidget(this)

并向其添加小部件 这将使它成为父类的子类。 对我来说很好。

【讨论】:

    【解决方案2】:

    我认为在这里添加和删除 QAction 对象是有问题的。 您应该尝试重新设计您的应用程序以使用QStateMachine 来处理状态之间的转换。 看看介绍文档here

    【讨论】:

      【解决方案3】:

      请参阅此LINK 以获取自定义软键..

      QAction* myAction= new QAction(tr("My Action"), this);
      myAction->setSoftKeyRole(QAction::NegativeSoftKey);
      addAction(myAction);
      

      【讨论】:

      • 我在我的应用程序中使用 StackWidget,我在其中添加了多个小部件,滚动我的屏幕我正在使用垂直布局并在其中添加所有小部件,所以由于 VLayout 存在一些问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 2011-12-02
      相关资源
      最近更新 更多