astodolski
25th October 2013, 15:09
I have a QLabel used to display a QImage. In design mode the label geometry is (9,65), 1384 × 616 as listed in the Property Editor. At runtime when the MainWindow containing the label constructs (i.e. ui->setupUi(this)), the label always appears to be 100×30 at startup which leads to images displaying only a really small portion.
Why do I have to set it to a fixed size to be anything but 100×30?
Source for the form is below.
Thanks in advance for any help.
/************************************************** ******************************
** Form generated from reading UI file 'mainwindowfX1656.ui'
**
** Created by: Qt User Interface Compiler version 5.1.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
************************************************** ******************************/
#ifndef MAINWINDOWFX1656_H
#define MAINWINDOWFX1656_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QAction *actionOpen_File;
QAction *actionAbout;
QAction *actionAbout_Qt;
QAction *actionZoom_In;
QAction *actionZoom_Out;
QAction *action_Normal_Size;
QWidget *centralWidget;
QGridLayout *gridLayout;
QHBoxLayout *horizontalLayout_2;
QPushButton *btnChange;
QSpacerItem *horizontalSpacer;
QHBoxLayout *horizontalLayout;
QLabel *label;
QSpinBox *sbScaleImage;
QSlider *sliChangeXPos;
QLabel *xposition;
QLabel *lblImage;
QSlider *sliChangeYPos;
QLabel *yposition;
QMenuBar *menuBar;
QMenu *menu_File;
QMenu *menuHelp;
QMenu *menuView;
QStatusBar *statusBar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QStringLiteral("MainWindow"));
MainWindow->resize(1427, 731);
MainWindow->setMinimumSize(QSize(0, 0));
actionOpen_File = new QAction(MainWindow);
actionOpen_File->setObjectName(QStringLiteral("actionOpen_File"));
actionAbout = new QAction(MainWindow);
actionAbout->setObjectName(QStringLiteral("actionAbout"));
actionAbout_Qt = new QAction(MainWindow);
actionAbout_Qt->setObjectName(QStringLiteral("actionAbout_Qt"));
actionZoom_In = new QAction(MainWindow);
actionZoom_In->setObjectName(QStringLiteral("actionZoom_In"));
actionZoom_Out = new QAction(MainWindow);
actionZoom_Out->setObjectName(QStringLiteral("actionZoom_Out"));
action_Normal_Size = new QAction(MainWindow);
action_Normal_Size->setObjectName(QStringLiteral("action_Normal_Size"));
action_Normal_Size->setCheckable(true);
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
gridLayout = new QGridLayout(centralWidget);
gridLayout->setObjectName(QStringLiteral("gridLayout"));
gridLayout->setContentsMargins(-1, 9, -1, 9);
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2"));
btnChange = new QPushButton(centralWidget);
btnChange->setObjectName(QStringLiteral("btnChange"));
horizontalLayout_2->addWidget(btnChange);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_2->addItem(horizontalSpacer);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
label = new QLabel(centralWidget);
label->setObjectName(QStringLiteral("label"));
horizontalLayout->addWidget(label);
sbScaleImage = new QSpinBox(centralWidget);
sbScaleImage->setObjectName(QStringLiteral("sbScaleImage"));
sbScaleImage->setEnabled(false);
sbScaleImage->setMinimum(-25);
sbScaleImage->setMaximum(10);
sbScaleImage->setValue(1);
horizontalLayout->addWidget(sbScaleImage);
horizontalLayout_2->addLayout(horizontalLayout);
gridLayout->addLayout(horizontalLayout_2, 0, 0, 1, 2);
sliChangeXPos = new QSlider(centralWidget);
sliChangeXPos->setObjectName(QStringLiteral("sliChangeXPos"));
sliChangeXPos->setMinimum(0);
sliChangeXPos->setMaximum(200);
sliChangeXPos->setPageStep(1);
sliChangeXPos->setValue(0);
sliChangeXPos->setSliderPosition(0);
sliChangeXPos->setOrientation(Qt::Horizontal);
sliChangeXPos->setInvertedAppearance(false);
sliChangeXPos->setInvertedControls(true);
sliChangeXPos->setTickInterval(0);
gridLayout->addWidget(sliChangeXPos, 1, 0, 1, 1);
xposition = new QLabel(centralWidget);
xposition->setObjectName(QStringLiteral("xposition"));
gridLayout->addWidget(xposition, 1, 1, 1, 1);
lblImage = new QLabel(centralWidget);
lblImage->setObjectName(QStringLiteral("lblImage"));
lblImage->setStyleSheet(QStringLiteral("background-color: rgb(85, 170, 255);"));
lblImage->setFrameShape(QFrame::Panel);
lblImage->setFrameShadow(QFrame::Plain);
lblImage->setAlignment(Qt::AlignCenter);
lblImage->setTextInteractionFlags(Qt::NoTextInteraction);
gridLayout->addWidget(lblImage, 2, 0, 2, 1);
sliChangeYPos = new QSlider(centralWidget);
sliChangeYPos->setObjectName(QStringLiteral("sliChangeYPos"));
sliChangeYPos->setPageStep(1);
sliChangeYPos->setOrientation(Qt::Vertical);
sliChangeYPos->setInvertedAppearance(true);
gridLayout->addWidget(sliChangeYPos, 2, 1, 1, 1);
yposition = new QLabel(centralWidget);
yposition->setObjectName(QStringLiteral("yposition"));
gridLayout->addWidget(yposition, 3, 1, 1, 1);
MainWindow->setCentralWidget(centralWidget);
menuBar = new QMenuBar(MainWindow);
menuBar->setObjectName(QStringLiteral("menuBar"));
menuBar->setGeometry(QRect(0, 0, 1427, 21));
menu_File = new QMenu(menuBar);
menu_File->setObjectName(QStringLiteral("menu_File"));
menuHelp = new QMenu(menuBar);
menuHelp->setObjectName(QStringLiteral("menuHelp"));
menuView = new QMenu(menuBar);
menuView->setObjectName(QStringLiteral("menuView"));
MainWindow->setMenuBar(menuBar);
statusBar = new QStatusBar(MainWindow);
statusBar->setObjectName(QStringLiteral("statusBar"));
MainWindow->setStatusBar(statusBar);
menuBar->addAction(menu_File->menuAction());
menuBar->addAction(menuHelp->menuAction());
menuBar->addAction(menuView->menuAction());
menu_File->addAction(actionOpen_File);
menuHelp->addAction(actionAbout);
menuHelp->addSeparator();
menuHelp->addAction(actionAbout_Qt);
menuView->addAction(actionZoom_In);
menuView->addAction(actionZoom_Out);
menuView->addSeparator();
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
actionOpen_File->setText(QApplication::translate("MainWindow", "Open File", 0));
#ifndef QT_NO_TOOLTIP
actionOpen_File->setToolTip(QApplication::translate("MainWindow", "Open an image for viewing", 0));
#endif // QT_NO_TOOLTIP
actionAbout->setText(QApplication::translate("MainWindow", "About", 0));
actionAbout_Qt->setText(QApplication::translate("MainWindow", "About Qt", 0));
actionZoom_In->setText(QApplication::translate("MainWindow", "Zoom In", 0));
actionZoom_In->setShortcut(QApplication::translate("MainWindow", "Ctrl++", 0));
actionZoom_Out->setText(QApplication::translate("MainWindow", "Zoom Out", 0));
actionZoom_Out->setShortcut(QApplication::translate("MainWindow", "Ctrl+-", 0));
action_Normal_Size->setText(QApplication::translate("MainWindow", "&Normal Size", 0));
action_Normal_Size->setShortcut(QApplication::translate("MainWindow", "Ctrl+S", 0));
btnChange->setText(QApplication::translate("MainWindow", "Invert Image", 0));
label->setText(QApplication::translate("MainWindow", "Scale", 0));
xposition->setText(QString());
lblImage->setText(QString());
yposition->setText(QString());
menu_File->setTitle(QApplication::translate("MainWindow", "File", 0));
menuHelp->setTitle(QApplication::translate("MainWindow", "Help", 0));
menuView->setTitle(QApplication::translate("MainWindow", "View", 0));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // MAINWINDOWFX1656_H
Why do I have to set it to a fixed size to be anything but 100×30?
Source for the form is below.
Thanks in advance for any help.
/************************************************** ******************************
** Form generated from reading UI file 'mainwindowfX1656.ui'
**
** Created by: Qt User Interface Compiler version 5.1.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
************************************************** ******************************/
#ifndef MAINWINDOWFX1656_H
#define MAINWINDOWFX1656_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QAction *actionOpen_File;
QAction *actionAbout;
QAction *actionAbout_Qt;
QAction *actionZoom_In;
QAction *actionZoom_Out;
QAction *action_Normal_Size;
QWidget *centralWidget;
QGridLayout *gridLayout;
QHBoxLayout *horizontalLayout_2;
QPushButton *btnChange;
QSpacerItem *horizontalSpacer;
QHBoxLayout *horizontalLayout;
QLabel *label;
QSpinBox *sbScaleImage;
QSlider *sliChangeXPos;
QLabel *xposition;
QLabel *lblImage;
QSlider *sliChangeYPos;
QLabel *yposition;
QMenuBar *menuBar;
QMenu *menu_File;
QMenu *menuHelp;
QMenu *menuView;
QStatusBar *statusBar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QStringLiteral("MainWindow"));
MainWindow->resize(1427, 731);
MainWindow->setMinimumSize(QSize(0, 0));
actionOpen_File = new QAction(MainWindow);
actionOpen_File->setObjectName(QStringLiteral("actionOpen_File"));
actionAbout = new QAction(MainWindow);
actionAbout->setObjectName(QStringLiteral("actionAbout"));
actionAbout_Qt = new QAction(MainWindow);
actionAbout_Qt->setObjectName(QStringLiteral("actionAbout_Qt"));
actionZoom_In = new QAction(MainWindow);
actionZoom_In->setObjectName(QStringLiteral("actionZoom_In"));
actionZoom_Out = new QAction(MainWindow);
actionZoom_Out->setObjectName(QStringLiteral("actionZoom_Out"));
action_Normal_Size = new QAction(MainWindow);
action_Normal_Size->setObjectName(QStringLiteral("action_Normal_Size"));
action_Normal_Size->setCheckable(true);
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
gridLayout = new QGridLayout(centralWidget);
gridLayout->setObjectName(QStringLiteral("gridLayout"));
gridLayout->setContentsMargins(-1, 9, -1, 9);
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2"));
btnChange = new QPushButton(centralWidget);
btnChange->setObjectName(QStringLiteral("btnChange"));
horizontalLayout_2->addWidget(btnChange);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_2->addItem(horizontalSpacer);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
label = new QLabel(centralWidget);
label->setObjectName(QStringLiteral("label"));
horizontalLayout->addWidget(label);
sbScaleImage = new QSpinBox(centralWidget);
sbScaleImage->setObjectName(QStringLiteral("sbScaleImage"));
sbScaleImage->setEnabled(false);
sbScaleImage->setMinimum(-25);
sbScaleImage->setMaximum(10);
sbScaleImage->setValue(1);
horizontalLayout->addWidget(sbScaleImage);
horizontalLayout_2->addLayout(horizontalLayout);
gridLayout->addLayout(horizontalLayout_2, 0, 0, 1, 2);
sliChangeXPos = new QSlider(centralWidget);
sliChangeXPos->setObjectName(QStringLiteral("sliChangeXPos"));
sliChangeXPos->setMinimum(0);
sliChangeXPos->setMaximum(200);
sliChangeXPos->setPageStep(1);
sliChangeXPos->setValue(0);
sliChangeXPos->setSliderPosition(0);
sliChangeXPos->setOrientation(Qt::Horizontal);
sliChangeXPos->setInvertedAppearance(false);
sliChangeXPos->setInvertedControls(true);
sliChangeXPos->setTickInterval(0);
gridLayout->addWidget(sliChangeXPos, 1, 0, 1, 1);
xposition = new QLabel(centralWidget);
xposition->setObjectName(QStringLiteral("xposition"));
gridLayout->addWidget(xposition, 1, 1, 1, 1);
lblImage = new QLabel(centralWidget);
lblImage->setObjectName(QStringLiteral("lblImage"));
lblImage->setStyleSheet(QStringLiteral("background-color: rgb(85, 170, 255);"));
lblImage->setFrameShape(QFrame::Panel);
lblImage->setFrameShadow(QFrame::Plain);
lblImage->setAlignment(Qt::AlignCenter);
lblImage->setTextInteractionFlags(Qt::NoTextInteraction);
gridLayout->addWidget(lblImage, 2, 0, 2, 1);
sliChangeYPos = new QSlider(centralWidget);
sliChangeYPos->setObjectName(QStringLiteral("sliChangeYPos"));
sliChangeYPos->setPageStep(1);
sliChangeYPos->setOrientation(Qt::Vertical);
sliChangeYPos->setInvertedAppearance(true);
gridLayout->addWidget(sliChangeYPos, 2, 1, 1, 1);
yposition = new QLabel(centralWidget);
yposition->setObjectName(QStringLiteral("yposition"));
gridLayout->addWidget(yposition, 3, 1, 1, 1);
MainWindow->setCentralWidget(centralWidget);
menuBar = new QMenuBar(MainWindow);
menuBar->setObjectName(QStringLiteral("menuBar"));
menuBar->setGeometry(QRect(0, 0, 1427, 21));
menu_File = new QMenu(menuBar);
menu_File->setObjectName(QStringLiteral("menu_File"));
menuHelp = new QMenu(menuBar);
menuHelp->setObjectName(QStringLiteral("menuHelp"));
menuView = new QMenu(menuBar);
menuView->setObjectName(QStringLiteral("menuView"));
MainWindow->setMenuBar(menuBar);
statusBar = new QStatusBar(MainWindow);
statusBar->setObjectName(QStringLiteral("statusBar"));
MainWindow->setStatusBar(statusBar);
menuBar->addAction(menu_File->menuAction());
menuBar->addAction(menuHelp->menuAction());
menuBar->addAction(menuView->menuAction());
menu_File->addAction(actionOpen_File);
menuHelp->addAction(actionAbout);
menuHelp->addSeparator();
menuHelp->addAction(actionAbout_Qt);
menuView->addAction(actionZoom_In);
menuView->addAction(actionZoom_Out);
menuView->addSeparator();
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
actionOpen_File->setText(QApplication::translate("MainWindow", "Open File", 0));
#ifndef QT_NO_TOOLTIP
actionOpen_File->setToolTip(QApplication::translate("MainWindow", "Open an image for viewing", 0));
#endif // QT_NO_TOOLTIP
actionAbout->setText(QApplication::translate("MainWindow", "About", 0));
actionAbout_Qt->setText(QApplication::translate("MainWindow", "About Qt", 0));
actionZoom_In->setText(QApplication::translate("MainWindow", "Zoom In", 0));
actionZoom_In->setShortcut(QApplication::translate("MainWindow", "Ctrl++", 0));
actionZoom_Out->setText(QApplication::translate("MainWindow", "Zoom Out", 0));
actionZoom_Out->setShortcut(QApplication::translate("MainWindow", "Ctrl+-", 0));
action_Normal_Size->setText(QApplication::translate("MainWindow", "&Normal Size", 0));
action_Normal_Size->setShortcut(QApplication::translate("MainWindow", "Ctrl+S", 0));
btnChange->setText(QApplication::translate("MainWindow", "Invert Image", 0));
label->setText(QApplication::translate("MainWindow", "Scale", 0));
xposition->setText(QString());
lblImage->setText(QString());
yposition->setText(QString());
menu_File->setTitle(QApplication::translate("MainWindow", "File", 0));
menuHelp->setTitle(QApplication::translate("MainWindow", "Help", 0));
menuView->setTitle(QApplication::translate("MainWindow", "View", 0));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // MAINWINDOWFX1656_H