Qt - со старта сразу же проблема с редактором форм.

Статус: Offline
Реєстрація: 17.08.2005
Повідом.: 48989
подскажите чайнику, решил попробовать сабж под виндой (XP SP3) (сам я пишу на асме под микроконтроллеры и занимаюсь электроникой, кояя - не совсем программирование).
Сходу - проблема.. Скачал 5.1, оно вроде встало после некоторых мытарств и даже проект создало спокойно.
Кнопка Designer слева на панели - неактивна.
Запускаю дизайнера и... оно запускается. Редактирует, но... проект этого не видит!

Как с ним вообще правильно обходиться и есть ли чего почитать не на вражеском языке про Qt? На вражеском читаю, но медленно и предпочёл бы русский.

Если шо - заранее спасибо. не поминайте лихом и нэзлым тыхым словом :)



Частично проблема решилась - переставил Qt, выставив на всякий случай все галочки, и редактором отдельно стало можно открывать форму, редактировать, сохранять, а потом пересобирать проект.
Но это как-то черезжопно. GUI приложения так и не обладают активной кнопкой дизайнера. Она серенькая и... "сухая и безжизненная", притом, что дизайнер сам по себе прекрасно работает.

P.S. Вопрос века - шо за н#х?
 
Останнє редагування:
В Проджект Браузере в папке Forms нужно выбрать форму
и дизайнер нормально откроется
 
Как с ним вообще правильно обходиться и есть ли чего почитать не на вражеском языке про Qt? На вражеском читаю, но медленно и предпочёл бы русский.
нужное лично мне когда-то нашел здесь
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
(пятого нет)
Тільки зареєстровані користувачі бачать весь контент у цьому розділі

(ребятам большой респект)
 
нужное лично мне когда-то нашел здесь
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
(пятого нет)
Тільки зареєстровані користувачі бачать весь контент у цьому розділі

(ребятам большой респект)

Большое спасибо! Будемс изучать...

P.S. Вообще непривычно как-то. Пока не понял как делать обработчики событий.
В делфях и любой шняге от микрософт - традиционно, либо есть список стандартных событий, либо, если его закрыл и лень искать где - д раза клацаешь на элементе и автоматом строится событие он клик.

Здесь - вообще пока не понятно :)

В Проджект Браузере в папке Forms нужно выбрать форму
и дизайнер нормально откроется

Спасибо! Правда уже разобрался как :) Но так - лучше, чем как я.

P.S. Не нашел свойство виджета, позволяющее ему динамически подгонять свой размер под форму. Как и такого свойства компоновщика.
min, max - есть, а как задать экспанд, чтобы, к примеру, компоновщик следовал шириной за формой при её растяжении/сжатии?



А ларчик просто... издевался :рл: :D

Событие, я так понял, в Qt называется магическим словом СЛОТ... Ну кроме магичности звучания - не могу представить другой логической формулировки для того, чтобы перестать считать нажатие на кнопку простым английским словом Event, а начать думать, что оно - слот :D

Сдается мне делегаты пренесут лулзов тоже :)
 
Останнє редагування:
Сорри за ап темы. Долго думал писать или не писать и если писать то куда.
Было мне в общем в отпуске скучно и решил я поставить свой стандартный тест на уровень входа в технологию. Суть теста проста. Ставится пакет, евристическими методами, основываясь на пред. знаниях, тыкается мыкается мышкой и клавой по экрану и пытается создать хеллоу верд.
В общем то ли я тупой то ли Qt далеко до борланда, и даже, пожалуй до MFC. Форму я сделал сразу, а вот остальные пол часа ушли на то, что бы понять как добавить обработчик на батон, и скопировать текст из одного эдита в другой. С первым справился, со вторым нет. (Повторюсь, никаких доков и мануалов, исключительно анализ меню и сорцов). Расстроился :)
 
Сие есть лишь констатация того факта, что общая концепция RAD разработки не продумана или не реализоваена до конца.

Извини, но я бы все таки грешил на твоё незнание инструмента. То есть обладая технологией копания земли лопатой трудно сразу пересесть за экскаватор. Кстати, не понимаю, почему для анализа ты не посмотрел в примеры, которые сразу на первой странице IDE-шки - тонны каментов и все варианты базового использования в одном месте (я надеюсь ты хоть Qt-Creator использовал?)
Я бы порекомендовал книги Макса Шлее - очень годно объясняет.

Кстати, технология форм (которую вы использовали) на текущий момент позиционируется как deprecated, а впереди планеты всей - QtQuick (оччень забавная технология для планшетов/телефонов/персоналок, правда пока годных книг нет но у Qt великолепнейшие доки и набор примеров - разобраться не сложно)

Кстати, насчет MFC - еще в студенческие времена, балуясь с дельфи, я тоже пару раз открывал и тупо смотрел на VC. Да и сейчас, имхо, студия страшная вещь.

Так что если темку поднимал не для троллинга - пиши, может чего подскажу.
 
Останнє редагування:
Извини, но я бы все таки грешил на твоё незнание инструмента. То есть обладая технологией копания земли лопатой трудно сразу пересесть за экскаватор. Кстати, не понимаю, почему для анализа ты не посмотрел в примеры, которые сразу на первой странице IDE-шки - тонны каментов и все варианты базового использования в одном месте (я надеюсь ты хоть Qt-Creator использовал?)
Я бы порекомендовал книги Макса Шлее - очень годно объясняет.
Так вопрос ведь не в знании инструмента, если бы Qt интересовал меня с комерческой точки зрения я бы подошел к решению задачи с другой стороны. Мне было интересно пошупать концепцию и идею.
В делфи напомню, обработчиики генеряться двойным кликом, элементы формы присутствуют в качестве членов класса. В студии член ассоциированый с окном создаеться через контекстное меню. Скелет приложения можно создать исключительно в редакторе форм. Как создать скелет приложения в редакторе форм Qt (QT Creator) - не осилил без мануала, а это плохо, ИМХО :)

Кстати, насчет MFC - еще в студенческие времена, балуясь с дельфи, я тоже пару раз открывал и тупо смотрел на VC. Да и сейчас, имхо, студия страшная вещь.
Ну так а никто и не говорит что связка MFC и VS - идеал рад концепции.
Так что если темку поднимал не для троллинга - пиши, может чего подскажу.
Не для тролинга, просто описал свои впечатления. Побалвался кутишкой в отпуске немнога, теперь пора работать :)
 
Так вопрос ведь не в знании инструмента, если бы Qt интересовал меня с комерческой точки зрения я бы подошел к решению задачи с другой стороны. Мне было интересно пошупать концепцию и идею.
В делфи напомню, обработчиики генеряться двойным кликом, элементы формы присутствуют в качестве членов класса. В студии член ассоциированый с окном создаеться через контекстное меню. Скелет приложения можно создать исключительно в редакторе форм. Как создать скелет приложения в редакторе форм Qt (QT Creator) - не осилил без мануала, а это плохо, ИМХО :)

в действиях:

"новый проект"
GUI-приложение
наследник QDialog (мы же хотим формочку... хотя тут как раз базовые знания нужны)
даблклик по ui - файлу
Перебросили на формочку кнопочку
ПКМ - перейти к слоту - clicked()
Все... мы в обработчике, пишем код.

и все "как в дельфях" :)

А вот почему нужен QDialog, или почему обработчик называется "слот" - вот это матчасть. Ее кстати и в дельфях и , тем более, в VC до ёжиков.
 
"новый проект"
GUI-приложение
наследник QDialog (мы же хотим формочку... хотя тут как раз базовые знания нужны)
даблклик по ui - файлу
Перебросили на формочку кнопочку
ПКМ - перейти к слоту - clicked()
Все... мы в обработчике, пишем код.

Вот эта часть я как раз и ослили. А вот поиск переменных связанных с двумя эдитами без доки завершился фиаско :(
 
Вот эта часть я как раз и ослили. А вот поиск переменных связанных с двумя эдитами без доки завершился фиаско :(

Понятно. Там все переменные из формы в отдельном классе, а достукиваться к ним через переменную ui (если по дефолту) надо.
 
Там все переменные из формы в отдельном классе, а достукиваться к ним через переменную ui (если по дефолту) надо.
Именно так, немного поподробней распишу.

Есть класс:
#include "ui_dialog.h"

class Dialog: public QDialog { Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
private:
Ui::Dialog m_ui;
private slots:
void onOkClicked();
};

Где m_ui - объект - описание твоей формы с различными кнопками, эдитами и т.д. То есть ко всем этим объектам будет доступ через этого мембера "m_ui".
К примеру: "m_ui.ok_button". "ok_button" - указатель на объект кнопки твой нарисованной формы. Имена объектов можно задавать какие хочешь через QtDesigner.
Чтобы добраться до обработки сигнала, к примеру, по нажатию на кнопку нужно связать сигнал кнопки(у каждого объекта в Qt иммется свой набор сигналов, список в доках есть) со своим слотом-обработчиков, лучше всего в конструкторе, например:

Dialog::Dialog(QWidget *parent): QDialog(parent) {
ui.setupUi(this);
connect(m_ui.ok_button, SIGNAL(clicked()), this, SLOT(onOkClicked()));
}

функция любого Q_OBJECT класса в Qt "connect()" принимает первым параметром указатель на объект который может генерировать той или иной сигнал(второй параметр), в нашем случае "clicked()", третий параметр объект-обработчик сигнала, тут ясно что собственно наш класс и будет оброботчиком, 4 параметр это слот-обработчик, после генерации сигнала "clicked()" Qt зайдет в эту функцию. А дальше что хош то и делай.
 
Останнє редагування:
Вот эта часть я как раз и ослили. А вот поиск переменных связанных с двумя эдитами без доки завершился фиаско :(
может не все так просто как хотелось бы, но когда чуток поработаешь-разберешься, понимаешь, что Qt отличная штука
 
может не все так просто как хотелось бы, но когда чуток поработаешь-разберешься, понимаешь, что Qt отличная штука

Повторюсь меня он интересовал не с коммерческой стороны, мне была интересна рад концепция.
Что касаемо отличности - хз, нища десктопа с радом почти мертва. Под винду решается сишарпом. Продукты с УИ под линукс - практически никому не нужны (ну тобишь денег за них мало кто даст)...
В общем штука может и отличная, но маловостребованная.
 
Что касаемо отличности - хз, нища десктопа с радом почти мертва.
А тролли это прекрасно понимают - поэтому:
- пытались выехать с maemo (тут правда фейл, имхо нокия облажалась)
- разработан концепт QtQuick для декларативного описания интерфейса. (сказано непонятно, но на этом легко создавать приложеньки под Android/iPhone)
- ведется разработка в направлении "Boot to Qt" - (фактически аналог андроид)


Под винду решается сишарпом. Продукты с УИ под линукс - практически никому не нужны (ну тобишь денег за них мало кто даст)...
Насчет использования - мой личный пример - торговое оборудование (компы, терминалы, POS) - на Linux/Qt все работает замечательно и красиво. И денег дают за результат - магазин в котором работают терминалы.

В общем штука может и отличная, но маловостребованная.
Просто ты еще не проникся :)
 
В общем штука может и отличная, но маловостребованная

У меня в конторе только три цпп проекта которые знаю, довольно крупные долгожители, и все юзают кьюти. Так что тут как обычно каждый смотрит со своей колокольни.
 
У нас пишем кросс-платформенные клиентские(Linux, Windows) и серверные(Linux) приложения, пока сидим еще на Qt 4.8. Вся отладка идет в VS2010 + Visual Assist X, удобнее отладки чем в этой ide я не видел :) Помимо Qt юзаем Boost и некоторые другие помельче библиотеки.
 
Останнє редагування:
Воблин. Тема как без меня живёт :)
Чесгря не ожидал такого внимания. Я по причине неосвоенности инструмента - отказался, но вернуться всё ещё думаю.
 
Навряд ти не під вінду писатимеш, тож не бачу сенсу шаманства, шуруй одразу у VS.
 
Назад
Зверху Знизу