3
我是Qt新手,并希望为程序实现一些对话框。QTlitter内QSplitter切换非常缓慢
该对话框的GUI很简单:左侧有一个树,右侧有一些标签(标签的数量可能会更改),并且每个标签中都有一些用于输入的小部件。
但是当我使用Qt5.0.2实现这个对话框时,我发现它切换标签非常慢。 (通常超过0.1秒来切换标签,有时如果我随机点击标签多次,它会停止响应几秒钟)
我想知道如果我以错误的方式使用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);
}
对我来说工作很快。尝试运行剖析器下的代码来查看程序的运行速度。 –
您好Riateche,您能否为Windows平台上的QT推荐一款性能分析工具?谢谢! – Liven
如果你使用MinGW编译器,'gprof'很好。 –