crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

8 страниц V  « < 5 6 7 8 >  
Ответить в данную темуНачать новую тему
> Билдер vs Qt Дизайнер, просто трёп
AD
  опции профиля:
сообщение 22.1.2009, 13:19
Сообщение #61


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 22.1.2009, 12:56) *
дак где это, в каком файле? ты его сам написал?

Юра, этот слот пишется в файл класса данного виджета.
Ну то есть в указанный вот так:
class WidgetTest: public ui_WidgetTest, public QMainWindow
{
private:
        // .....
protected:
        // ..........
public slots:
        void on_aFilter_triggered();
};

Не знаю как напрямую в дизайнер Qt, но в студии этот слот можно получить, несколько раз нажав на элемент управления.

При этом явного коннекта нет. Каким-то образом идет связь через moc-файлы (moc_<name>.cpp)

Сообщение отредактировал AD - 22.1.2009, 13:20
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.1.2009, 13:55
Сообщение #62


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 22.1.2009, 16:19) *
Юра, этот слот пишется в файл класса данного виджета.
а как узнать этот файл? я пишу код в блокноте.
А если я вообще не хочу множественное наследование использовать? Куда тогда писать?
А если я использую такой вариант:
...
     QWidget *widget = new QWidget;
     Ui::CalculatorForm ui;
     ui.setupUi(widget);

...
}

Да и файл-то я еще не создал?

Цитата(AD @ 22.1.2009, 16:19) *
При этом явного коннекта нет. Каким-то образом идет связь через moc-файлы (moc_<name>.cpp)
это делается с помощью автоматического связывания (QMetaObject::connectSlotsByName(...))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 22.1.2009, 14:09
Сообщение #63


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
а как узнать этот файл? я пишу код в блокноте.
А если я вообще не хочу множественное наследование использовать? Куда тогда писать?
А если я использую такой вариант:
...
     QWidget *widget = new QWidget;
     Ui::CalculatorForm ui;
     ui.setupUi(widget);

...
}

Да и файл-то я еще не создал?

Если, если.... Если не создал, то и разговора нет! :)))) kuler создал. ;) 8)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 22.1.2009, 16:48
Сообщение #64


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
а как узнать этот файл?

в студии, есть такой пункт project->add qt gui class после выбора и вписывания имени класса появляются 3 файла - cpp, h, ui.
Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
А если я вообще не хочу множественное наследование использовать?

в диалоге есть галочка "юзать множественное наследование"

при нажатии правой клавишей на компоненте есть пункт connect signal там выбираешь, жмешь ок и все происходит как в билдере, при этом в cpp и h нет вызова connect

Цитата(Litkevich Yuriy @ 22.1.2009, 13:55) *
а как узнать этот файл?

студия сама распознает
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 22.1.2009, 16:54
Сообщение #65


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


Цитата(AD @ 22.1.2009, 12:19) *
При этом явного коннекта нет. Каким-то образом идет связь через moc-файлы (moc_<name>.cpp)

Официальная книжка по Qt4 28 страница
Цитата
In the constructor, we call setupUi() to initialize the form. Thanks to multiple
inheritance, we can access Ui::GoToCellDialog’s members directly. After creat-
ing the user interface, setupUi() will also automatically connect any slots that
follow the naming convention on_objectName_signalName() to the corresponding
objectName’s signalName() signal. In our example, this means that setupUi() will
establish the following signal–slot connection:
connect(lineEdit, SIGNAL(textChanged(const QString &)),
this, SLOT(on_lineEdit_textChanged()));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 22.1.2009, 17:15
Сообщение #66


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(void* @ 22.1.2009, 16:54) *
connect any slots that
follow the naming convention on_objectName_signalName() to the corresponding
objectName’s signalName() signal.

на самом деле это стремно, ибо нельзя красиво назвать обработчик, в билдере можно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 22.1.2009, 17:58
Сообщение #67


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(kuler @ 22.1.2009, 17:15) *
на самом деле это стремно, ибо нельзя красиво назвать обработчик, в билдере можно

Повторюсь, делай коннекты сам и называй, как душе угодно! ;) Поверь, это лучше. Легче отследить связи!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuler
  опции профиля:
сообщение 22.1.2009, 18:01
Сообщение #68


Танцор диско
***

Группа: Участник
Сообщений: 441
Регистрация: 11.9.2008
Из: Москва
Пользователь №: 289

Спасибо сказали: 6 раз(а)




Репутация:   -1  


Цитата(AD @ 22.1.2009, 17:58) *
Легче отследить связи!

50 коннектов вручную? код засоряется такими действиями
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 22.1.2009, 18:04
Сообщение #69


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(kuler @ 22.1.2009, 18:01) *
50 коннектов вручную? код засоряется такими действиями

:) Если хочешь использовать Qt, то принимай правила игры, которые диктует эта библиотека, либо используй другие библиотеки! Другого вряд ли посоветуешь! Ну вот так она устроена. На всех нельзя угодить. :) Не обижайся, просто по-другому не объяснить! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 22.1.2009, 19:40
Сообщение #70


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(kuler @ 22.1.2009, 18:01) *
код засоряется такими действиями

ие...
а ты не мусори, а пиши по-делу...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

8 страниц V  « < 5 6 7 8 >
Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 12:30