我正在尝试使用visual studio学习QT。我的开发环境是VS2015和QT设计师。我正在尝试执行以下教程。
http://www.bogotobogo.com/Qt/Qt5_QMainWindow_QAction_ImageViewer_B.php
本质上教程使用Qlabel和QScrollArea显示图像。如果我用代码创建小部件(使用visual studio),程序似乎可以工作。
imageLabel = new QLabel;
imageLabel->setBackgroundRole(QPalette::Base);
imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
imageLabel->setScaledContents(true);
scrollArea = new QScrollArea;
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setWidget(imageLabel);
setCentralWidget(scrollArea);
然而,我尝试用QT Designer做同样的事情。当我从QT Designer拖动ScrollArea时,我注意到它还创建了一个名为" scrollAreaWidgetContents"的QWidget。然后当我创建QLabel时,Label在" scrollAreaWidgetContents"下创建。小部件。然后我尝试使用以下代码显示图像。
ui->label->setBackgroundRole(QPalette::Base);
ui->label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
ui->label->setScaledContents(true);
ui->scrollArea->setBackgroundRole(QPalette::Dark);
ui->scrollArea->setWidget(ui->scrollAreaWidgetContents);
ui->scrollArea->setWidgetResizable(true);
ui->scrollAreaWidgetContents->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
//ui->scrollArea->setWidget(ui->label);
setCentralWidget(ui->scrollArea);
然后我取消注释" ui-> scrollArea-> setWidget(ui-> label);"行,然后程序编译但崩溃。那么,如何使用QT Designer显示滚动条?我做错了什么。
感谢您的帮助