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

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

Страниц: [1] 2 3 ... 5   Вниз
  Печать  
Автор Тема: Вывод графики  (Прочитано 28062 раз)
Alexu007
Гость
« : Май 14, 2013, 08:00 »

Нужно выводить в таблицу (в клеточки) одинаковые маленькие изображения - игра морской бой.

Какой компонент лучше использовать для вывода графики, как средствами Qt можно нарисовать эти самые маленькие изображения, и где их можно хранить внутри программы - не во внешних файлах?
Записан
Bepec
Гость
« Ответ #1 : Май 14, 2013, 08:13 »

Таблица тебе не подойдет? QTableView или QTableWidget для начала.

А рисовать можно на чём угодно. На любом виджете. Самый простой - QLabel.

Хранить можно в самом файле программы - за это отвечает qrc файл.
Записан
Alexu007
Гость
« Ответ #2 : Май 14, 2013, 14:02 »

Таблица подойдёт, только вместо таблицы рисуется белый квадрат, а нужно чтобы внутри была сетка. В редакторе свойств ничего не нашёл.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Май 14, 2013, 14:34 »

Таблица подойдёт, только вместо таблицы рисуется белый квадрат, а нужно чтобы внутри была сетка. В редакторе свойств ничего не нашёл.
Странно, т.к. QTableView::showGrid() по дефолту должен быть включён.
Записан

Qt 5.11/4.8.7 (X11/Win)
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #4 : Май 14, 2013, 15:36 »

Странно, т.к. QTableView::showGrid() по дефолту должен быть включён.
Только по дефолту таблица пуста. Подмигивающий
Записан
Bepec
Гость
« Ответ #5 : Май 14, 2013, 15:38 »

Ну тогда для начала нужно добавить нужное количество записей с нужным количеством столбцов. Появится сеточка. Пара расчётов в коде и у нас будет готово квадратное/прямоугольное поле, состоящее из красивых квадратов или прямоугольников.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Май 14, 2013, 15:54 »

Странно, т.к. QTableView::showGrid() по дефолту должен быть включён.
Только по дефолту таблица пуста. Подмигивающий
Ну дык, кто ж знал, что автор забыл её наполнить Подмигивающий

Пара расчётов в коде и у нас будет готово квадратное/прямоугольное поле, состоящее из красивых квадратов или прямоугольников.
Только наверное нужно будет ещё убрать заголовки)
« Последнее редактирование: Май 14, 2013, 15:56 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
Bepec
Гость
« Ответ #7 : Май 14, 2013, 16:32 »

Ну да, убрать заголовочки )
Записан
Alexu007
Гость
« Ответ #8 : Май 14, 2013, 18:07 »

Как сложно всё у вас. Вот к примеру в билдере:

1. Я помещаю на форму таблицу DrawGrid (или StringGrid)
2. В свойствах таблицы задаю необходимые параметры - кол-во строк, столбцов, размер и т.п.
3. Открываю книгу Архангельского, нахожу в ней нужный компонент - там написано, как с ним работать: как поместить текст в нужное место, как прочитать оттуда и т.п. с примерами кода и (при необходимости) фотографиями результата.
4. Юзаю этот компонент и при непонятках уточняю на форумах.

в Qt:
 
1. Помещаю (мышкой) на форму таблицу QTableView - получаю белый квадрат на форме.
2. В свойствах объекта нужных мне пунктов нет.
3. В какой книге можно прочитать про QTableView самые простые вещи, а именно - как ей пользоваться?
4. На форуме узнаю, что QTableView оказывается нужно было наполнить. Как? Чем? Куда писать код? Я пока не хочу её наполнять, да у меня и нечем пока, я просто хочу посмотреть, как будет выглядеть на форме пустая таблица с квадратиками. А потом буду пробовать вставлять в эти квадратики картинки - чтобы каждая попадала в свою ячейку.

Это раздел "вопросы новичков", я как раз в Qt новичок, где мне взять всю эту инфу?

« Последнее редактирование: Май 14, 2013, 18:12 от Alexu007 » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #9 : Май 14, 2013, 18:32 »

Если хочешь всё сразу видеть используй QTableWidget.
И запусти уже Qt Assistant.

И какие-то странные претензии... Посмотри свой первый пост. Где там все эти твои последние вопросы Непонимающий
« Последнее редактирование: Май 14, 2013, 18:35 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
thechicho
Гость
« Ответ #10 : Май 14, 2013, 18:50 »

в Qt Assistant все есть.
поставь Qt Creator, там достаточно F1 нажать и откроется справка по классу(методу).
в описании класса как правило есть поясняющий пример.

а чего нет в ассистанте, есть в гугле
Записан
Bepec
Гость
« Ответ #11 : Май 14, 2013, 19:59 »

Alexu007 - ответ кроется в твоём же сообщении.


Вот к примеру в билдере:
-//-
3. Открываю книгу Архангельского
-//-

в Qt:
-//-
3. Открываю книгу "Жасмин Бланшет - QT 4 программирование GUI на C++"  или же Шлее
-//-
Записан
Alexu007
Гость
« Ответ #12 : Май 14, 2013, 20:23 »

Если хочешь всё сразу видеть используй QTableWidget.
И запусти уже Qt Assistant.
Спасибо. Таблица нарисовалась с клетками. А как пользоваться Qt Assistant?

Нажал F1, справка по QTableWidget нарисовалась. Но там столько инфы... врагу не пожелаешь!

Сделали бы ликбез для чайников, а? Подскажите:

- строчку кода, которая помещает строку в таблицу в позицию col, row
- строчку ... которая читает из таблицы
- обработку кликов мышкой по ячейкам таблицы
- вывод графики в ячейки таблицы

Для 90% работ с таблицей нужны первые два пункта, остальные 10% - вторые два пункта. Больше таблица практически ни для чего не нужна.
« Последнее редактирование: Май 14, 2013, 21:04 от Alexu007 » Записан
thechicho
Гость
« Ответ #13 : Май 14, 2013, 21:15 »

- строчку кода, которая помещает строку в таблицу в позицию col, row
- строчку ... которая читает из таблицы
http://stackoverflow.com/questions/2779274/how-can-use-qtablewidget
- обработку кликов мышкой по ячейкам таблицы
Signals

void   cellActivated ( int row, int column )
void   cellChanged ( int row, int column )
void   cellClicked ( int row, int column )
void   cellDoubleClicked ( int row, int column )
- вывод графики в ячейки таблицы
http://www.codeprogress.com/cpp/libraries/qt/showQtExample.php?key=QTableWidgetSetBackgroundImage&index=149

1. ищешь в ассистанте (там полезной инфы не много, а достаточно)
2. не нашел в ассистанте, ищешь в гугле
3. форум (когда западло первые два пункта, начинаем отсюда Улыбающийся)
Записан
Bepec
Гость
« Ответ #14 : Май 14, 2013, 21:18 »

Наконец то появились цензурные слова Веселый

Alexu007, я тебе по секрету скажу, что всё это написано сотни раз. Десятки и миллионы тем на форуме только ждут, когда ты запустишь поиск по форуму. Ассистент стенает и размахивает красным флагом, ожидая тебя в гости. Шлее тебе гарантирует ласковую доставку в нужную точку твоей программы. Но всем им нехватает только одного для создания крутейшей и красивейшей программы... Нехватает двух рук и головы в полном комплекте. Чтобы прочитать, понять, попробовать, скомпилировать пример ииии.... и спросить уже то, что тебе непонятно.
Записан
Страниц: [1] 2 3 ... 5   Вверх
  Печать  
 
Перейти в:  


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