Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [РЕШЕНО] QLineEdit "убивает" виджет
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
greh
Итак в двух словах о программе: Есть MainWindow на котором устновлен центральный виджет WorkSpace, в котором установлен MainLayout вот в этом этом MainLayot'e есть виджет на котором рисуются различные геометрические фигуры(он распологается слева) и RightLayout в котором есть различные виджеты( несколько Label'ов, LineEdit'ы и кнопка рисовать) и вот если оставить LineEdit'ы то виджет на котором рисуются фигуры просто исчезает О_о А если убрать LineEdit'ы то всё в порядке. Помогите пожалуйста.

mainwindow.h:
CODE
QWidget *WorkSpace;

QHBoxLayout *MainLayout;
QVBoxLayout *RightLayout1;

PaintArea *PaintArea1;

QLabel *WidthLabel;
QLabel *HeightLabel;
QLabel *XLabel;
QLabel *YLable;

QLineEdit *WidthLine;
QLineEdit *HeightLine;
QLineEdit *XLine;
QLineEdit *YLine;

QPushButton *PaintButton;


mainwindow.cpp:

CODE
void MainWindow::CreateCentralwidgets()
{
WidthLine = new QLineEdit("0");
HeightLine = new QLineEdit("0");
XLine = new QLineEdit("0");
YLine = new QLineEdit("0");

WidthLabel = new QLabel(tr("<center>Width:</center>"));
HeightLabel = new QLabel(tr("<center>Height:</center>"));
XLabel = new QLabel(tr("<center>X:</center>"));
YLable = new QLabel(tr("<center>Y:</center>"));

PaintButton = new QPushButton(tr("Paint"));
PaintButton->setEnabled(false);
}


void MainWindow::ArrangementWidgets()
{

WorkSpace = new QWidget;

MainLayout = new QHBoxLayout;
RightLayout1 = new QVBoxLayout;

RightLayout1->addWidget(WidthLabel);
//RightLayout1->addWidget(WidthLine);
RightLayout1->addWidget(HeightLabel);
//RightLayout1->addWidget(HeightLine);
RightLayout1->addWidget(XLabel);
//RightLayout1->addWidget(XLine);
RightLayout1->addWidget(YLable);
//RightLayout1->addWidget(YLine);

RightLayout1->addWidget(PaintButton);

RightLayout1->addStretch();

MainLayout->addWidget(PaintArea1);

MainLayout->addLayout(RightLayout1);

WorkSpace->setLayout(MainLayout);



Забыл сказать: если виджету PaintArea1 установить FixedSize(), то виджет видно, но мне нужно именно чтобы его размер менялся при растягивании окна.
Kagami
Реализуй у PaintArea1 функции из серии sizeHint (их три штуки). При размещении его в компоновке задай ему политику изменения размеров expanded.
Litkevich Yuriy
greh, вот это прочитай: Пользовательские виджеты в компоновщиках
greh
Цитата(Kagami @ 25.11.2009, 10:52) *
Реализуй у PaintArea1 функции из серии sizeHint (их три штуки). При размещении его в компоновке задай ему политику изменения размеров expanded.


sizeHint'ы уже были реализованы а вот политика как раз и нужна была, спасибо огромное!


Цитата(Litkevich Yuriy @ 25.11.2009, 11:55) *


Полезная инфа, спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.