Russian Qt Forum

Qt => Общие вопросы => Тема начата: serg_yl от Сентябрь 30, 2010, 15:56



Название: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: serg_yl от Сентябрь 30, 2010, 15:56
Добрый день уважаемые гуру qt.
Не давно начал изучать qt.
Возникли множество вопросов, часть которых  я хочу написать. Итак:
1. Ни как не пойму структуру проектов, т.е. как и где все таки писать основной код программы. Так же остается не понятным для меня в какой последовательности писать программу то ли в main.cpp, то ли в mainwindow.cpp? Полная не разбериха в голове для чего же нужен файл mainwindow.h и что в процессе разработки программы в него писать?
2. Как получить доступ в объектам интерфейса будущей программы созданной в Qt Designer?

P.S.
В разных книгах (в основном это переводные) пишут по разному и от этого у меня просто каша в голове...:(
Из прочитанного понял лишь вот что. mainwindow.h - файл заголовок, только чего не для меня пока лес дремучий...
Файлов *.cpp может быть очень много по мере разрастания программы.
В общем, то это все что я пока понял из переводных книг.
Прошу Вас разъяснить мне "трудному" что да как...:)


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: ufna от Сентябрь 30, 2010, 16:07
Советую заняться изучением С++, а не Qt, т.к. вопрос №1 говорит как раз о том, что с этим есть проблемы :)

Ну и вопрос №2 следует оттуда же. Вот смотри, как у тебя подключен этот интерфейс к программе?


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: serg_yl от Сентябрь 30, 2010, 16:15
Всмысле как подключен?! ???
Создал при помощи мастера обычный проект с GUI интерфейсом, затем "нарисовал" интерфейс в дизайнере.


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: vipet от Сентябрь 30, 2010, 16:21
Добрый день уважаемые гуру qt.
Не давно начал изучать qt.
Возникли множество вопросов, часть которых  я хочу написать. Итак:
1. Ни как не пойму структуру проектов, т.е. как и где все таки писать основной код программы. Так же остается не понятным для меня в какой последовательности писать программу то ли в main.cpp, то ли в mainwindow.cpp? Полная не разбериха в голове для чего же нужен файл mainwindow.h и что в процессе разработки программы в него писать?
2. Как получить доступ в объектам интерфейса будущей программы созданной в Qt Designer?

P.S.
В разных книгах (в основном это переводные) пишут по разному и от этого у меня просто каша в голове...:(
Из прочитанного понял лишь вот что. mainwindow.h - файл заголовок, только чего не для меня пока лес дремучий...
Файлов *.cpp может быть очень много по мере разрастания программы.
В общем, то это все что я пока понял из переводных книг.
Прошу Вас разъяснить мне "трудному" что да как...:)


Если у тебя небольшое консольное приложение, то все можно уместить в одном файле.
Если большое или неконосольное, то нет.
Если маленькое и неконсольное, то можно весь код писать в mainwindow.cpp - изначально там находится только код класса-наследника QMainWindow.

Но если по-нормальному хочешь научиться, то советую прочитать две книги, можно даже читать их параллельно:
1. An Introduction to Design Patterns in C++ with Qt 4, By Alan Ezust, Paul Ezust
2. Бланшет,Саммерфилд - QT4 Программирование GUI на С++.2ed.2008

Обе их нетрудно найти в свободном доступе.


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: vipet от Сентябрь 30, 2010, 16:22
Всмысле как подключен?! ???
Создал при помощи мастера обычный проект с GUI интерфейсом, затем "нарисовал" интерфейс в дизайнере.

Также для понимая работы ГУЯ рекоммендую написать код создания и размещения виджетов вручную, т.е. без использования дизайнера вообще.


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: serg_yl от Сентябрь 30, 2010, 20:10
Спасибо Вам за конкретные советы. Еще что хотелось бы узнать, какие книги из русских авторов по программированию на C++ можете посоветовать, чтобы написано было более менее доступным языком для понимания.


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: sergun1604 от Октябрь 01, 2010, 08:17
а ты в какой системе кодишь, и какое у тебя ПО по QT?


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: daspisch от Октябрь 01, 2010, 08:31
Спасибо Вам за конкретные советы. Еще что хотелось бы узнать, какие книги из русских авторов по программированию на C++ можете посоветовать, чтобы написано было более менее доступным языком для понимания.
русских авторов(а так же украинских, белорусских и любых других) читать вообще вредно. для самого-самого начала прочитай "Самоучитель C++ Герберт Шилдт", атм доступным для новичка языком описано всё основное, для полного понимания си надо читать "Бьерн Страуструп. Язык программирования С++", но анчинать с этого может лишь тот кто уже кодил на чём-либо серьёзном, потому что язык ну уж очень технический как и манера написания(я когда первый раз пробовал это читать мне напомнило учебник по квантовой механике утянутый мной в 6м класе)


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: serg_yl от Октябрь 01, 2010, 08:44
sergun1604 на win 7 64bit, пишу в Qt Creator


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: sergun1604 от Октябрь 01, 2010, 08:58
ну друг у тебя все есть, а то я по началу умудрялся без креатора работать. ты знаешь мне по началу тупо ролики по ютубе помогли. там последовательно маленькие проги создаются, все понятно и без всяких наворотов,

а по си++ читай дейтела самый крутой чувак, разжовывает так что можно детей с первого класса научить.
успехов тебе!!!


Название: Re: Ряд важных вопрсов для дальнейшего поним&
Отправлено: CL0NE от Октябрь 01, 2010, 16:14
И мои 5 копеек:
Лафоре Роберт - Объектно-ориентированное программирование в С++ (Object-Oriented Programming in C++)
Имхо для начинающих лучше дейтела (сам с нее не начинал, потому - имхо) и проще страуструпа.
 
 


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: serg_yl от Октябрь 06, 2010, 11:48
В общем, с головой я углубился в изучение...
Поставили передом мною вот такую задачу...
Создать в динамической памяти связанный список графических объектов. Каждый элемент списка представляет отдельную графическую фигуру. Показать список-объект на экране, затем последовательно удалить объекты с экрана и очистить динамическую память.

Рисунок прилагается.

Помогите, у меня паника... :o С чего начать разбираться?


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: Alex_cs_gsp от Октябрь 06, 2010, 13:11
1) Определится, что такое графическая фигура (виджет или пиксмэп)
2) Объявить список с указателями на данные графические фигуры
3) Инициализировать список
4) Отобразить список на экране
5) Удалить память, на которую указывают указатели в списке
6) Очистить сам список


Если хотите сам список "показать на экране", то можно поразвлекатся. Сделайте свой класс потомок от списка специализированный под ваши графические объекты и реализуйте в нем методы, например showElements() и hideElements().


Название: Re: Ряд важных вопрсов для дальнейшего понимания...
Отправлено: serg_yl от Октябрь 06, 2010, 13:39
Это пиксмэп, эллипсы изображенные на рисунке надо с помощью drawEllipse нарисовать.