Russian Qt Forum
Ноябрь 24, 2024, 20:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: работа в Qt Creator 1.2.1  (Прочитано 14310 раз)
taifun
Гость
« : Октябрь 01, 2009, 07:43 »

Здраствуйте, установил Qt Creator 1.2.1, поставил кнопочку на форме, теперь мне необходимо воспользоваться компонентом QFileDialog. нужно, что бы на жал на кнопку выполз QFileDialog выбрал файл и его название вывелось в заголовке формы. Не понимаю как нажатием кнопки вызвать QFileDialog. вот закрытие формы сделал:
Код:
Sender - Button
Signal - clicked ()
Receiver - MainWindows
Slot - close ()
а для вызова QFileDialog не понятно, что нужно ствить для Receiver и Slot. Да и вопрос еще вот в чем: то что это прописать в ручную можно это понятно, а через редактор Signal and Slot Editor можно сделать как-нибудь или все же приедтся вручную писать если вручную, то что и в каком файле?
Записан
SimpleSunny
Гость
« Ответ #1 : Октябрь 01, 2009, 09:11 »

Необходимо создать слот и связать его с нажатием кнопки.
Название методов писат по памяти.

Код
C++ (Qt)
void openFileDialog()
{
   QString fileName = QFileDialog::getSaveName();
   if (fileName.isEmpty())
       return;
 
   ...
}
« Последнее редактирование: Октябрь 01, 2009, 09:12 от SimpleSunny » Записан
taifun
Гость
« Ответ #2 : Октябрь 01, 2009, 12:40 »

готово, сделал вручную, хотя хочется все через IDE, но видимо нельзя. Вот еще такой вопрос:
добавил на форму 7 label-ов, смотрел - работают. отображаются, ставлю 8 в программе пиши что бы при нажатие на кнопку менялся текст, а класс формы не видит 8 лейбл, хотя в ui_namefile.h он присутствует? не понимаю в чем проблема  Непонимающий
Записан
SimpleSunny
Гость
« Ответ #3 : Октябрь 01, 2009, 12:51 »

НЕ совсем понятно в чем проблема. Ты создаешь 8 лейбл програмно, а при компиляция появляется ошибка?
Записан
taifun
Гость
« Ответ #4 : Октябрь 01, 2009, 13:23 »

нет-нет, точно так же вытаскиваю его мышкой из панели компонентов. Пишу
Код:
ui->
в этот момет обынчо появляется список с возможными элементами (label_6, label_7), а label_8 нет, соответсвенно если сам пишу руками
Код:
ui->label_8->setText(trUtf8("Привет!"));
то компилятор начинает ругаться на label_8. Это исправляется закрытием и открытием программы  В замешательстве но это не решение проблемы
Записан
SimpleSunny
Гость
« Ответ #5 : Октябрь 01, 2009, 13:40 »

Дизайнер запускал отдельно или использовал встроенный в QtCreator?
Может просто забыл сохранить файл *.ui?
Записан
taifun
Гость
« Ответ #6 : Октябрь 01, 2009, 14:31 »

Встроенный использую. Точно не забыл потому, что проверял и перепроверял раза 3. Вот и сейчас добавил 9 сохранил пишу

ui->

появляется список, а lable_9 нет
Записан
BRE
Гость
« Ответ #7 : Октябрь 01, 2009, 14:49 »

Встроенный использую. Точно не забыл потому, что проверял и перепроверял раза 3. Вот и сейчас добавил 9 сохранил пишу

ui->

появляется список, а lable_9 нет
После того, как ты сохранил ui-файл, нужно еще запустить uic (это компилятор ui), что бы он пересоздал файл ui_filename.h. И вот только тогда редактор начнет видеть этот символ.
При компиляции проекта uic вызывается автоматически.
Записан
SimpleSunny
Гость
« Ответ #8 : Октябрь 01, 2009, 14:55 »

После того, как ты сохранил ui-файл, нужно еще запустить uic (это компилятор ui), что бы он пересоздал файл ui_filename.h. И вот только тогда редактор начнет видеть этот символ.
При компиляции проекта uic вызывается автоматически.

Этот шаг с некоторой (на 1.2.0 уже работает) версии не обязателен. Если редактируешь ui файл встроенным в QtCreator Designerom, то он и так, после сохранения файла, должен видеть добавленные виджеты без перекомпиляции.
Записан
taifun
Гость
« Ответ #9 : Октябрь 01, 2009, 15:00 »

После того, как ты сохранил ui-файл, нужно еще запустить uic (это компилятор ui), что бы он пересоздал файл ui_filename.h. И вот только тогда редактор начнет видеть этот символ.
При компиляции проекта uic вызывается автоматически.

вот оно что, тогда дело вот в чем:
Qt Creator 1.2.1 устоновить-то я устновил только сборку и компиляцию я делаю из консули:
Код:
qmake -project
qmake
make
./nameProg
а хотелось бы из IDE это делать (быстрее все-таки), но дело в том, что когда я нажимаю кнопку "Build All" в Compile Output пишет:
Код:
Running build steps for project ProTest...
Could not start process
Error while building project ProTest
When executing build step 'QMake'
в чем проблема не понимаю. сижу под Linux (второй месяц).
Записан
BRE
Гость
« Ответ #10 : Октябрь 01, 2009, 15:03 »

Вот таких тонкостей я не знал. Сам QtCreator'ом не пользуюсь.  Улыбающийся
Записан
taifun
Гость
« Ответ #11 : Октябрь 01, 2009, 15:12 »

Вопрос открыт, но если подскажете как в консуле делать, то буду очень благодарен. А так я установил уже NetBeans 6.7.1, Qt Creator 1.2.1 и не в одной не могу компилировать проекты, но думаю со временем все-таки мне помогут разобраться в этих программах.
Записан
BRE
Гость
« Ответ #12 : Октябрь 01, 2009, 15:25 »

Вопрос открыт, но если подскажете как в консуле делать, то буду очень благодарен. А так я установил уже NetBeans 6.7.1, Qt Creator 1.2.1 и не в одной не могу компилировать проекты, но думаю со временем все-таки мне помогут разобраться в этих программах.
Да в консоли все просто.
qmake
make

Что-то поменял в существующих файлах (.h .cpp .ui).
make

Если добавил файлы, редактируем .pro и
qmake
make
Записан
taifun
Гость
« Ответ #13 : Октябрь 01, 2009, 15:41 »

Да в консоли все просто.
qmake
make

Что-то поменял в существующих файлах (.h .cpp .ui).
make

Если добавил файлы, редактируем .pro и
qmake
make


в имяфайла.ui добавил компоненту label_9
сохранил
сделал, как Вы сказали, получил :

Код:
winProTest.cpp:53: error: 'class Ui::MainWindow' has no member named 'label_9'
make: *** [winProTest.o] Error 1
Записан
BRE
Гость
« Ответ #14 : Октябрь 01, 2009, 15:50 »

в имяфайла.ui добавил компоненту label_9
сохранил
сделал, как Вы сказали, получил :

Код:
winProTest.cpp:53: error: 'class Ui::MainWindow' has no member named 'label_9'
make: *** [winProTest.o] Error 1
Странно.
А покажи свой pro-файл.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.151 секунд. Запросов: 21.