QScrollArea setWidget冻结app

时间:2014-01-13 14:47:50

标签: qt4 qscrollarea

我有这段代码:

  QFrame* contentsFrame = new QFrame();
  contentsFrame->setLayout(contentsLyt_);

  QScrollArea* scrollArea = new QScrollArea();
  scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
  scrollArea->setWidgetResizable(false);
  contentsLyt_->addWidget( scrollArea );

  scrollArea->setWidget(contentsFrame);

设置窗口小部件时应用程序会冻结。我无法调试或进入setWidget,因为它是Qt功能。执行此冻结。停在那里并没有给我任何线索。两个指针都不是NULL。它是Qt里面的某种循环,我不明白。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您正在为滚动区域设置一个间接包含滚动区域的窗口小部件。这就是Qt进入无限循环的原因,我认为。