在Qt

时间:2015-05-14 11:35:18

标签: c++ qt

我有一个QWidget,有时可以隐藏。此QWidget处理外部事件,导致此窗口小部件滚动。问题是:隐藏此窗口小部件时,不会执行滚动操作。简化示例:

QWidget* scrollPanel = new QWidget(parent);
scrollPanel->setGeometry(0, 0, 100, 100);
scrollPanel->setStyleSheet("background: blue");
QWidget* item = new QWidget(scrollPanel);
item->setGeometry(20, 20, 20, 20);
item->setStyleSheet("background: white");

// ... hide or show scrollPanel

scrollPanel->scroll(0, -20);

如果隐藏parent或隐藏scrollPanel,则scrollPanel->scroll(0, -20);不执行任何操作。如果一切都可见,则scrollPanel->scroll(0, -20);按预期工作:

scrollPanel->show();
scrollPanel->scroll(0, -20); //works

scrollPanel->hide();
scrollPanel->scroll(0, -20); //does not work

那么,如果它被隐藏了,有没有办法滚动QWidget

0 个答案:

没有答案