Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2014, 21:56   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию Расположение элементов Qt

Есть следующее
Код:
#include "main.h"
int main(int argc,char * argv[])
{

	QApplication	app(argc,argv);

	QWidget window; 
   
	QGridLayout * table   = new QGridLayout;


    QVBoxLayout* time= new QVBoxLayout();

    QSlider * slider = new QSlider(Qt::Horizontal);
    slider->setMinimumWidth(100);

    QLCDNumber * lcd = new QLCDNumber(2);
    time->addWidget(slider);
    time->addWidget(lcd);
    table->addLayout(time,0,1);

    QPushButton * button = new QPushButton("button1",&window);
    table->addWidget(button,1,1);

    QPushButton * button2 = new QPushButton("button2",&window);
    table->addWidget(button2,2,1);

    WindowGL * glWindow   = new WindowGL;//от QGLWidget
    glWindow->setMinimumSize(922,691);
    table->addWidget(glWindow,0,0,2,0);
 

	window.setLayout(table);
	window.show();

	return app.exec();
}
Это набросок интерфейса, который должен работать(пока решил без QtCreator делать) Примерная схема того, что я хочу ниже. У меня получается так, что на форме всего два элемента QGLWidget и внизу его button2(верхний рисунок). Кнопки я потом поменяю на другие элементы управления. Что не так? Если поменять строку
Код:
table->addWidget(glWindow,0,0,2,0);
на
Код:
table->addWidget(glWindow,0,0,0,1);
Все работает, но

Код:
table->addWidget(glWindow,0,0,0,2);
нет.
Заранее спасибо.
P.S. Я попробую все сделать только через QHBoxLayout QVBoxLayout, но все же хочется использовать таблицу.
P.P.S думал, что во всем виноват QGLWindow, а нет, где-то мой косяк, т.к. заменив этот виджет на QPushButton получилось тоже самое.
Изображения
Тип файла: jpg text3805-7.jpg (13.8 Кб, 49 просмотров)
Тип файла: jpg Без имени.jpg (9.7 Кб, 123 просмотров)

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 23.02.2014 в 22:04.
_PROGRAMM_ вне форума Ответить с цитированием
Старый 23.02.2014, 22:16   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Все работает, но
Код:
table->addWidget(glWindow,0,0,0,2);
нет.
ЧТо значит "нет"? - все работает. Если работает не так, как ты ожидаешь - это не значит, что не работает.
Можно почитать документацию или указать конкретно чего ты ждешь от этого кода.
Работает он верно.
rrrFer вне форума Ответить с цитированием
Старый 23.02.2014, 22:25   #3
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Получается тоже, что и на первой картинке. Т.е.
Код:
table->addWidget(glWindow,0,0,2,0);
и
Цитата:
table->addWidget(glWindow,0,0,0,2);
Результат один и тот же.
Последние две цифры - это ширина и высота виджета в ячейках или X,Y конечной ячейки?

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 23.02.2014, 22:26   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Судя по рисунку, ты хочешь это:
Код:
#include <QApplication>
#include <QGridLayout>
#include <QSlider>
#include <QLCDNumber>
#include <QPushButton>
#include <QGLWidget>

int main(int argc,char * argv[]) {
  QApplication	app(argc,argv);

  QWidget window;

  QGridLayout table;
  QVBoxLayout time;
  QSlider slider(Qt::Horizontal);
  QLCDNumber lcd(2);
  QPushButton button ("button1",&window);
  QPushButton button2("button2",&window);
  QGLWidget glWindow;

  glWindow.setMinimumSize(500,400);
  slider.setMinimumWidth(100);

  time.addWidget(&slider);
  time.addWidget(&lcd);

  table.addLayout(&time,0,1);

  table.addWidget(&button2,2,1);
  table.addWidget(&glWindow,0,0,3,1);
  table.addWidget(&button,1,1);

  window.setLayout(&table);
  window.show();

  return app.exec();
}
но а пишешь совсем другое. не знаю почему. наверное документацию не открыл )

Цитата:
Последние две цифры - это ширина и высота виджета в ячейках или X,Y конечной ячейки?
Есть документация. Это раз.
В кьюткреатор встроена ассистант. Это два.
Когда ты наберешь имя функции в креаторе и откроешь скобочку - он тебе все напишет о параметрах. Это три.

Последний пункт вкупе с твоим вопросом означает. что код откуда то бездумно скопипащен?

ЗЫ1. оформляй код нормально. Береги зрение.
ЗЫ2. когда на форум код выкладываешь, удали оттуда все лишнее. Если хочешь, чтоб помогли конечно. У меня вот нет твоего main.h, мне расстроиться?

Последний раз редактировалось rrrFer; 23.02.2014 в 22:33.
rrrFer вне форума Ответить с цитированием
Старый 23.02.2014, 22:46   #5
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
оформляй код нормально. Береги зрение.
Код эксперементаторский. Не для использования. Подвергался огромному кол-ву изменений. + У меня в виме все нормально. Этот косяк возник из-за перенастройки tab'ов. Выплыл в редакторе firefox.
Цитата:
У меня вот нет твоего main.h, мне расстроиться?
Только инклюды. Переопределение класса. О нем я написал.
Цитата:
Последний пункт вкупе с твоим вопросом означает. что код откуда то бездумно скопипащен?
Исключительно научный тык ручной работы.
Цитата:
Есть документация. Это раз.
Смотрел.
Цитата:
addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
rowSpan - опыт у меня большой, могу по-разному объединить. С columnSpan аналогично. Мало информации.
Цитата:
В кьюткреатор встроена ассистант. Это два.
Когда ты наберешь имя функции в креаторе и откроешь скобочку - он тебе все напишет о параметрах. Это три.
vim.
Цитата:
table.addWidget(&glWindow,0,0,3,1);
Вот она единственная строка. Я понял принцип работы этого объекта. Спасибо.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 23.02.2014 в 22:55.
_PROGRAMM_ вне форума Ответить с цитированием
Старый 24.02.2014, 06:23   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
vim.
Я не пользуюсь vim, однако: http://www.allaboutvim.ru/2007/07/vim-ganq-qwerty.html
Однако, ассистинт использовать никто не мешает:
Цитата:
вызов программы QTAssistant. vim – команда ! assistant
Все там же написано про плагин Qt для vim, вы не используете его? - автодополнение, про которое я пишу там есть:
Цитата:
Подсветка и автодополнение для ключевых слов библиотеки. vim – плагины Qt, cpp, multiAPIsyntax
ЗЫ. Я вкурсе что вим - это не только хорошая штука, но и религия. Но все же, какой профит извлекаете именно Вы? - в чем Вы видите преимущества относительно того же креатора?

Последний раз редактировалось rrrFer; 24.02.2014 в 06:26.
rrrFer вне форума Ответить с цитированием
Старый 24.02.2014, 07:09   #7
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
Но все же, какой профит извлекаете именно Вы? - в чем Вы видите преимущества относительно того же креатора?
Сам принцип управления и редактирования. Не используется мышь. На набор и редактирование кода уходит гораздо меньше времени. Несколько окон сразу. Удалять, вставлять строки, заменять слова - одно удовольствие.
Цитата:
vim – команда ! assistant
Эту команду можно тупо в консоль засунуть, только без восклицательного знака. Она мне vim на паузу поставит. Не беспокойтесь Вы, у меня assistant всегда открыт на Mod4+4.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java >>> Расположение элементов Katus Общие вопросы по Java, Java SE, Kotlin 1 22.08.2012 22:59
В массиве из п элементов много совпадающих элементов. Найти количество различных элементов Strax Фриланс 11 12.06.2010 20:13
Динамическое расположение элементов управления Rodion Microsoft Office Excel 1 27.04.2010 13:19
Расположение формы KatCH Общие вопросы Delphi 5 16.02.2010 17:30