Название: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 16:03 Здравствуйте! Изучаю QT 4.5. C помощью мастера создал проект "GUI приложение 4 ". В визуальном редакторе для меню "File" создал подменю "Open". Где и как мне написать, чтоб при выборе меню "Open" выполнялась моя функция ?
p.s. Изучаю по книге Шлее, там описано только как создать меню программно, а я хочу попробовать создавать в визуальном редакторе. Название: Re: Событие меню из GUI Отправлено: Bepec от Октябрь 07, 2012, 16:09 Соединить сигнал нажатия этого пункта меню со своим слотом.
Читайте про сигнал-слотовые соединения. PS это относится к любому виду создания меню. Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 16:28 спасибо за отклик
сигнал называется "fileOpen", моя функция "fnMyFunction". 1. Для сигнала "fileOpen" объектом будет QMenu? 2. В каком месте программы надо проводить соединение объектов? Больше занимался процедурным программированием, поэтому ООП немного вводит в тупик, если можно пример кода Название: Re: Событие меню из GUI Отправлено: V1KT0P от Октябрь 07, 2012, 16:40 Больше занимался процедурным программированием, поэтому ООП немного вводит в тупик, если можно пример кода Лучше прочитай начало книги по Qt(например "Qt4.5. Профессиональное программирование на C++").Название: Re: Событие меню из GUI Отправлено: Bepec от Октябрь 07, 2012, 16:48 У тебя есть QMenu. В QMenu есть QAction - это пункты находящиеся в нём.
Тебе нужно либо при создании подключить, либо позже. PS для тебя же будет понятнее, если ты приведёшь код создания меню и свою функцию, а я её тебе подправлю как надо. Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 17:37 PS для тебя же будет понятнее, если ты приведёшь код создания меню и свою функцию, а я её тебе подправлю как надо. В том то и дело что кода создания меню нет, он находится в файле mainwindow.ui А своя функция может быть банальным вызовом MessageBox. На всякий случай файл проекта положил http://rusfolder.com/33000636 Название: Re: Событие меню из GUI Отправлено: V1KT0P от Октябрь 07, 2012, 17:46 В том то и дело что кода создания меню нет, он находится в файле mainwindow.ui Еслиб ты внял моему совету и прочитал бы книгу, то знал бы что достаточно соединить сигнал объекта со слотом другого объекта.А своя функция может быть банальным вызовом MessageBox. На всякий случай файл проекта положил http://rusfolder.com/33000636 Хотя бы кьютовские примеры посмотрел. Ты даже не соизволил минимальную документацию по кьюту почитать. А ведь там основные концепции объясняются, при чем есть даже перевод на русский. Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 17:49 Больше занимался процедурным программированием, поэтому ООП немного вводит в тупик, если можно пример кода Лучше прочитай начало книги по Qt(например "Qt4.5. Профессиональное программирование на C++").Ее и изучаю. Автор Макс Шлее. В 32 главе описывается меню, но оно ничего не делает. А вот как связать меню и действия я пока не дошел Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 17:54 Хотя бы кьютовские примеры посмотрел. Ты можешь привести пример, чтобы по вызову пункта меню IconItem из листинга 32.1 всплывал MessageBox c надписью "I am here"? Название: Re: Событие меню из GUI Отправлено: mutineer от Октябрь 07, 2012, 17:55 Больше занимался процедурным программированием, поэтому ООП немного вводит в тупик, если можно пример кода Лучше прочитай начало книги по Qt(например "Qt4.5. Профессиональное программирование на C++").Ее и изучаю. Автор Макс Шлее. В 32 главе описывается меню, но оно ничего не делает. А вот как связать меню и действия я пока не дошел То есть ты решил не дочитывать книгу, а сразу полезть на форум? Так может вообще ее выкинешь за ненадобностью? Название: Re: Событие меню из GUI Отправлено: V1KT0P от Октябрь 07, 2012, 18:03 Ты можешь привести пример, чтобы по вызову пункта меню IconItem из листинга 32.1 всплывал MessageBox c надписью "I am here"? Выложи листинг в аттач в виде проекта и я сделаю. Книг по Qt не читал вообще, вполне хватает документации(которую я считаю самой лучшей из мною виденных).Название: Re: Событие меню из GUI Отправлено: Igors от Октябрь 07, 2012, 18:09 Ну вот допустим я той книги в глаза не видел, как бы я делал. Открыл букварь - ага, пункты добавляются и возвращают QAction - что это за зверь? Нашел первый попавшийся файл где есть QAction, такая строка
Код Ага, значит действие привяжут к нему. Ищу дальше по тексту newAction. Через 5 строк Код Ну так все ясно Еслиб ты внял моему совету .. А может не надо "надувать щеки" и воображать "концепции" - это доступно любому школьнику и профессионализма здесь - с гулькин "нос" :)Хотя бы .. Ты даже не соизволил ... основные концепции.. Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 18:13 Выложи листинг в аттач в виде проекта и я сделаю. Книг по Qt не читал вообще, вполне хватает документации(которую я считаю самой лучшей из мною виденных). Название: Re: Событие меню из GUI Отправлено: V1KT0P от Октябрь 07, 2012, 18:34 Выложи листинг в аттач в виде проекта и я сделаю. Книг по Qt не читал вообще, вполне хватает документации(которую я считаю самой лучшей из мною виденных). Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 18:53 Выложи листинг в аттач в виде проекта и я сделаю. Книг по Qt не читал вообще, вполне хватает документации(которую я считаю самой лучшей из мною виденных). Cпасибо, прояснилось. ) А как найти объект QMenu, если меню создавалась через GUI и находится в файле *.UI? Название: Re: Событие меню из GUI Отправлено: V1KT0P от Октябрь 07, 2012, 19:06 Cпасибо, прояснилось. ) А как найти объект QMenu, если меню создавалась через GUI и находится в файле *.UI? Я все-же советую тебе прочитать документацию и посмотреть примеры.Название: Re: Событие меню из GUI Отправлено: Evgen от Октябрь 07, 2012, 19:11 ОГРОМНОЕ спасибо за помощь!!! Вопрос исчерпан
|