我是 Qt 的新手,想为一个程序实现一些对话框。
对话框的 GUI 很简单:左侧有一棵树,右侧有一些选项卡(选项卡的数量可能会改变),每个选项卡中都有一些用于输入的小部件。
但是当我用 Qt5.0.2 实现这个对话框时,我发现切换标签时它很慢。(一般切换一个tab需要0.1s以上,有时候随机点击多次tab会停止响应几秒)
我想知道我是否以错误的方式使用 Qt,或者我可以做些什么来提高性能
这是我的场景的示例:
TestQT::TestQT(QWidget *parent)
: QMainWindow(parent)
{
QSplitter* pSplitter = new QSplitter();
QTreeWidget* pTree = new QTreeWidget();
pSplitter->addWidget(pTree);
QTabWidget* pTabs = new QTabWidget();
for (int i = 0; i < 10; i++)
{
QWidget* pPage = new QWidget();
QVBoxLayout* pLayout = new QVBoxLayout();
for (int j = 0; j < 20; j++)
{
QHBoxLayout* pLineLayout = new QHBoxLayout();
pLineLayout->addWidget(new QCheckBox());
pLineLayout->addWidget(new QLineEdit());
pLayout->addLayout(pLineLayout);
}
pPage->setLayout(pLayout);
pTabs->addTab(pPage, tr("Page%1").arg(i));
}
pSplitter->addWidget(pTabs);
this->setCentralWidget(pSplitter);
}