crossplatform.ru

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

Gman
  опции профиля:
сообщение 29.9.2009, 9:38
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Создал новое Gui приложение приложение и форму mainwindow.ui все по дефолту креэйтором , создал на форме mainwindow.ui с помощью дизайнера кнопки , поля ввода и другие виджеты , как сделать так что бы при нажатие на кнопки и т.д производильсь определенные действия например как в Delphi ????
И как делать зависимость форм ?

Если не трудно напишите или перевидите документацию по QT Creator ,информации на русском почти нет для этой IDE =\ , можно даже статьи с картинками как что делать можно . QDevelop вобще темный лес .
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V   1 2 3 >  
Начать новую тему
Ответов (1 - 23)
nZil
  опции профиля:
сообщение 29.9.2009, 14:13
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 20.7.2009
Пользователь №: 922

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




Репутация:   0  


вот тут туториалы по QtCreator'у.
Наверное все книги по Qt на русском содержат небольшое описание QtCreator'а.

ой ошибочка... в книгах описание Designer'а. Вообще процесс создания форм и обработки базовых сигналов у криэйтора и дизайнера одинаковый. Так что юзай книги)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 30.9.2009, 23:06
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Я разобрался вот ролик как делать обработку событий : http://www.youtube.com/watch?v=c0HkTtUNxrw , Народ Напишите по этому делу мини хэлп плиз !!!!! , не всем же понятно , все подробней опишите в плане написания кода
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.10.2009, 6:02
Сообщение #4


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

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

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




Репутация:   94  


Цитата(Gman @ 1.10.2009, 3:06) *
Народ Напишите по этому делу мини хэлп плиз !!!!! , не всем же понятно , все подробней опишите в плане написания кода
вот возьми и напиши. У нас для этого и Вики имеется, тык.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 3.10.2009, 19:15
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Есть форма dialog с кнопками и текстом (QDialog) , почему его надо каждый раз объевлять ?
Раскрывающийся текст
Dialog dialog;
и при вызове формы dialog , не отображаются кнопки и текст ?
main.cpp
Раскрывающийся текст
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QSplashScreen>
#include "dialog.h"
#include "ui_dialog.h"

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


QApplication a(argc, argv);

MainWindow w;
w.show();
Dialog dialog;
a.connect(&w,SIGNAL(clicked()),&dialog,SLOT(showdialog()));

return a.exec();
}


Описание слота :
Раскрывающийся текст
int MainWindow::showdialog()

{
Dialog dialog;
dialog.exec();
return 0;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.10.2009, 20:00
Сообщение #6


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

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

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




Репутация:   94  


Цитата(Gman @ 3.10.2009, 23:15) *
почему его надо каждый раз объевлять ?
не понятно очём речь, а приведённый код ещё большую непонятность создаёт.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 3.10.2009, 20:27
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Есть два окна главное и диалоговое , диалоговое вызывается из главного путем сигнала click , но не отображаться правильно как в должно быть в дизайнере . Вопрос про объединении форм .
Эскизы прикрепленных изображений
 Р В Р’˜Р В·Р С•бражение уменьшено
Прикрепленное изображение
257 x 357 (7.51 килобайт)
 Р В Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 32%
Прикрепленное изображение
389 x 420 (20.55 килобайт)
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.10.2009, 22:56
Сообщение #8


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

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

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




Репутация:   94  


Цитата(Gman @ 3.10.2009, 23:15) *
почему его надо каждый раз объевлять ?
Цитата(Gman @ 4.10.2009, 0:27) *
диалоговое вызывается из главного
Диалоговые окна, модальные, создаются именно так, как у тебя написано в слоте int MainWindow::showdialog()
В функции main он бессмысленен, упоминание его (include) тоже не нужно. Соответственно и соединение в ней тоже не нужно.
В классе MainWindow сигнала clicked наверняка нет.

Диалог должен быть известен главному окну, т.е. в нём должен быть соответствующий include.
Тебе необходимо соеденить сигнал какого либо объекта (находящегося в главном окне) со слотом int MainWindow::showdialog(). И сделать это нужно в конструкторе главного окна (самое подходящее место)



Цитата(Gman @ 29.9.2009, 13:38) *
QDevelop вобще темный лес .
он, кстати, проще чем креатор.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 10.10.2009, 0:40
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Как создать окно без рамки и как реализовать метод exec для MainWindow , что бы окно MainWindow не исчезало ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 10.10.2009, 0:55
Сообщение #10


Активный участник
***

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

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




Репутация:   1  


Без рамки : QMainWindow ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ) , указать WindowFlags как Qt::FramelessWindowHint . Что значит что бы не исчезало?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 10.10.2009, 1:17
Сообщение #11


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


 void  Frame::showMainWindow()
{

MainWindow h;
h.show();

}

Только нажатие на кнопку т.е сигнала clicked будет показано гавное , MainWindow , на то что бы главное окно оставалось открытым после нажатия на кнопку , а не закрывалось .
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 10.10.2009, 1:31
Сообщение #12


Активный участник
***

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

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




Репутация:   1  


Не понятно все равно. спрятать окно что ли?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.10.2009, 6:59
Сообщение #13


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

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

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




Репутация:   94  


Цитата(Gman @ 10.10.2009, 5:17) *
MainWindow h;
h.show();
Переменная MainWindow локальная для этой функции, как только из функции выйдешь она прекратит своё существование. (Это из области языка "Си", ещё до плюсов)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 10.10.2009, 12:37
Сообщение #14


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


MainWindow это класс , h - объект класса MainWindow , show() метод , а указатель на объект h создать не возможно , и как соединить с mai.cpp хз =\
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.10.2009, 12:54
Сообщение #15


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

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

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




Репутация:   94  


Цитата(Gman @ 10.10.2009, 16:37) *
а указатель на объект h создать не возможно
поясни
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 10.10.2009, 13:27
Сообщение #16


Активный участник
***

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

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




Репутация:   1  


создать указатель на h:
MainWindow *ph = &h;


Что значит соединить с main.cpp? Мне кажется, у тебя проблемы с языком (программирования) в плане теории.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 10.10.2009, 15:05
Сообщение #17


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Мне нужно функции showMainWindow передать значение h; метод showMainWindow это медот класса Frame . Наоборот в простом С++ это проще сделать . Меня , что то не доходит как объекты одного класса передавать другому , что бы был один и тот же объект .

void Frame::showMainWindow(void)
{

void show();


}

Как в эту функции передать h (из MAinWIndow h; т.е объект h класса MainWindow ) ? В С++ я бы создал конструктор с параметрами и эти параметры передал бы методу show , если наследовать один класс от другого получиться ересть ,



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.10.2009, 15:11
Сообщение #18


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

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

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




Репутация:   94  


Цитата(Gman @ 10.10.2009, 19:05) *
В С++ я бы создал конструктор с параметрами и эти параметры передал бы методу show , если наследовать один класс от другого получиться ересть ,
Qt написана C++.

Лучше расскажи основной замысел программы. А то ты как-то непонятно делаешь.
Изначально ты пытался использоватьQDialog и делал это неверно.
Потом окно без рамки
Тепрь какой-то Frame лишь водной функции которого ты создаёшь главное окно приложения и убиваешь его по выходу из функции.

По моему разумению это три раные темы, и ни как не связанны с заголовком "Qt Creator 1.2.1 обработка событий"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 10.10.2009, 15:25
Сообщение #19


Активный участник
***

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

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




Репутация:   1  


Тебе надо передать указатель на объект в функцию (ну или его копию..) :

void Frame::showMainWindow(MainWindow * h)
{
 h->show();
}


Сообщение отредактировал Andrewshkovskii - 10.10.2009, 15:25
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 10.10.2009, 15:27
Сообщение #20


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Связано , я создаю кнопку или другой элемент управления , прикрепляю к нему сигнал , описываю слот , проблема идет в описании слота . Мне нужно окон с кнопкой запуска окна MainWindow и всё , и разобраться с передаче
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 10.10.2009, 15:42
Сообщение #21


Активный участник
***

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

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




Репутация:   1  


Ты лучше свои вопросы нормально формулируй, а то тебя понять сложно.Тебе удалось передать свой объект в слот?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.10.2009, 17:14
Сообщение #22


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

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

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




Репутация:   94  


Вот тестовый пример Прикрепленный файл  tst.zip ( 3 килобайт ) Кол-во скачиваний: 206
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Gman
  опции профиля:
сообщение 10.10.2009, 17:15
Сообщение #23


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 29.9.2009
Пользователь №: 1124

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




Репутация:   0  


Мне нужна форма без рамки т.е форма заставка с кнопкой запуск которая будет запускать MainWindow т.е главное окно , объект в слот не передается , приходиться загонов в описании слота объявлять объект класса MainWindow ,или других классов , для QDialog есть такой метод exec() , в аттач прикрепил свой проект , вопрос идиотский но решения нет у меня =\ спс за помощь.
Прикрепленные файлы
Прикрепленный файл  Proga.zip ( 14.86 килобайт ) Кол-во скачиваний: 101
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.10.2009, 17:29
Сообщение #24


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

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

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




Репутация:   94  


Цитата(Gman @ 10.10.2009, 21:15) *
Мне нужна форма без рамки
Пёс сней с рамкой, ты с начала с базовыми вещами разберись, потом марафет наводить будешь.

поправил твой проект, помоему работает как и планировалось.
Прикрепленный файл  Proga.zip ( 5.32 килобайт ) Кол-во скачиваний: 215


П.С. смотри коментарии
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 28.5.2025, 14:29