Russian Qt Forum
Ноябрь 24, 2024, 04:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt растягивание виджетов ну не получается  (Прочитано 6216 раз)
Nortsx
Гость
« : Ноябрь 21, 2011, 09:58 »

Коллеги помогите, я сломал себе мозг. имеется несколько элементов которые при растягивании формы должна тянуться вместе с ней по границам формы. Добавил их в layout, не тянется, причем везде стоит expanding.
Для теста создал просто форму на которую поместил layout и туда же одну кнопку. То же самое. Есть ли вообще способы тянуть элементы с увеличением формы или мне уже стоит перегружать resizeEvent?
Код моей формы(из дизигнера)
Код
C++ (Qt)
/********************************************************************************
** Form generated from reading UI file 'designerOC3508.ui'
**
** Created: Mon 21. Nov 10:57:45 2011
**      by: Qt User Interface Compiler version 4.7.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

 
#ifndef DESIGNEROC3508_H
#define DESIGNEROC3508_H
 
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>
 
QT_BEGIN_NAMESPACE
 
class Ui_MainWindow
{
public:
   QWidget *centralwidget;
   QWidget *verticalLayoutWidget;
   QVBoxLayout *verticalLayout;
   QPushButton *pushButton;
   QMenuBar *menubar;
   QStatusBar *statusbar;
 
   void setupUi(QMainWindow *MainWindow)
   {
       if (MainWindow->objectName().isEmpty())
           MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
       MainWindow->resize(719, 380);
       centralwidget = new QWidget(MainWindow);
       centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
       QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
       sizePolicy.setHorizontalStretch(0);
       sizePolicy.setVerticalStretch(0);
       sizePolicy.setHeightForWidth(centralwidget->sizePolicy().hasHeightForWidth());
       centralwidget->setSizePolicy(sizePolicy);
       verticalLayoutWidget = new QWidget(centralwidget);
       verticalLayoutWidget->setObjectName(QString::fromUtf8("verticalLayoutWidget"));
       verticalLayoutWidget->setGeometry(QRect(-1, -1, 721, 341));
       verticalLayout = new QVBoxLayout(verticalLayoutWidget);
       verticalLayout->setSpacing(1);
       verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
       verticalLayout->setContentsMargins(0, 0, 0, 0);
       pushButton = new QPushButton(verticalLayoutWidget);
       pushButton->setObjectName(QString::fromUtf8("pushButton"));
       sizePolicy.setHeightForWidth(pushButton->sizePolicy().hasHeightForWidth());
       pushButton->setSizePolicy(sizePolicy);
 
       verticalLayout->addWidget(pushButton);
 
       MainWindow->setCentralWidget(centralwidget);
       menubar = new QMenuBar(MainWindow);
       menubar->setObjectName(QString::fromUtf8("menubar"));
       menubar->setGeometry(QRect(0, 0, 719, 21));
       MainWindow->setMenuBar(menubar);
       statusbar = new QStatusBar(MainWindow);
       statusbar->setObjectName(QString::fromUtf8("statusbar"));
       MainWindow->setStatusBar(statusbar);
 
       retranslateUi(MainWindow);
 
       QMetaObject::connectSlotsByName(MainWindow);
   } // setupUi
 
   void retranslateUi(QMainWindow *MainWindow)
   {
       MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
       pushButton->setText(QApplication::translate("MainWindow", "PushButton", 0, QApplication::UnicodeUTF8));
   } // retranslateUi
 
};
 
namespace Ui {
   class MainWindow: public Ui_MainWindow {};
} // namespace Ui
 
QT_END_NAMESPACE
 
#endif // DESIGNEROC3508_H
 
Qt 4.7
« Последнее редактирование: Ноябрь 21, 2011, 10:09 от Nortsx » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Ноябрь 21, 2011, 10:03 »

Ты лучше файл ui приложи к сообщению.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Nortsx
Гость
« Ответ #2 : Ноябрь 21, 2011, 10:09 »

Приложил файл ui в первом сообщении
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Ноябрь 21, 2011, 10:16 »

Поправил. Нужно кликнуть на окно и выбрать на панели любой лайот.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Nortsx
Гость
« Ответ #4 : Ноябрь 21, 2011, 10:18 »

Поделитесь пожалуйста, как?Непонимающий
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Ноябрь 21, 2011, 10:20 »

Гугел на что?
http://www.youtube.com/watch?v=E7Ud6FonsR4
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Nortsx
Гость
« Ответ #6 : Ноябрь 21, 2011, 11:13 »

ДО ответа уже догадался)) все гораздо очевиднее чем я всегда думаю. Спасибо за помощь!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.086 секунд. Запросов: 22.