Поиск:

Ответ в темуСоздание новой темы Создание опроса
> layout у MainWindow [QT], вручную создать пропиlayout у MainWindow 
V
    Опции темы
ss
Дата 6.7.2013, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Здравствуйте. Я новичок поэтому сильно не ругайтесь.
как сделать выравнивание компонентов на форме если форму создавать вручную не используя дизайнер.

Если использовать дизайнер, то там так : выделяем форму и сверху на панели жмем кнопку "скомпоновать по вертикали(горизонтали)", при этом у MainWindow класс centralWidget приобретает значок выбранного компоновщика. 

Надо сделать тоже самое только вручную, написав код. smile 
PM MAIL   Вверх
borisbn
Дата 6.7.2013, 10:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Сделай то, что тебе нужно в дизайнере, скомпилируй, а затем открой файл ui_main window.h и посмотри как это там сделано


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
ss
Дата 8.7.2013, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



пример 
создание окна с тремя кнопками

файл mainwindow.h
Код

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QGridLayout>
#include <QPushButton>

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

    QGridLayout *centralLayout;
    QWidget *centralWidget;

    QPushButton *Button1;
    QPushButton *Button2;
    QPushButton *Button3;
};

#endif // MAINWINDOW_H



файл mainwindow.cpp
Код

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{


    centralWidget = new QWidget(this);
    centralLayout = new QGridLayout(centralWidget);


    Button1 = new QPushButton(centralWidget);
    Button2 = new QPushButton(centralWidget);
    Button3 = new QPushButton(centralWidget);


    centralLayout->addWidget(Button1,0,0); //задаем положение кнопок в сетке
    centralLayout->addWidget(Button2,0,1); //имя объекта, строка, столбец
    centralLayout->addWidget(Button3,0,2); //


    this->setLayout(centralLayout);
    this->setCentralWidget(centralWidget);
}

MainWindow::~MainWindow()
{
delete Button1,
           Button2,
           Button3;
    delete centralLayout;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.