Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 30.05.2009
Сообщений: 25

QGraphicsWidget подкласс

17.01.2012, 11:24. Показов 2018. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня есть подкласс QGraphicsWidget сначала там только прямоуголник. Как во время выполнения програмы добавить туда еще элементы?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2012, 11:24
Ответы с готовыми решениями:

QGraphicsWidget и модальное окно
Есть View в котором много вложенных QGraphicsWidget. Отлавливаю mousePressEvent для определения нажатия на элемент. В mousePressEvent...

Как правильно реализовать обработку mousePressEvent для QGraphicsWidget
При клике на элемент графика(QGraphicsItem) открыть OInputDialog. Как правильно реализовать обработку mousePressEvent?

Подкласс QVideWidget
Добрый вечер. Пишу медиаплеер, в качестве основного виджета решил взять подкласс QVideoWidget, т.е. все кнопки и другие виджеты...

5
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.01.2012, 18:48
что вы подразумеваете под термином "подклас"?

Цитата Сообщение от fabricant Посмотреть сообщение
у меня есть подкласс QGraphicsWidget
и где же он?
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
17.01.2012, 18:56
Моя лаба по Qt для работы с графикой.
Для рисования прямоугольника используйте метод: http://developer.qt.nokia.com/... l#drawRect
Вложения
Тип файла: 7z tpdz3.7z (1.6 Кб, 58 просмотров)
1
2 / 2 / 0
Регистрация: 30.05.2009
Сообщений: 25
18.01.2012, 15:18  [ТС]
Евгений М. спасибо
у теперь другая проблема, создал класс. он рисует сверху панель с днями недели и датой;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "week.h"
#include"QPainter"
#include"QStyleOptionButton"
#include "QStylePainter"
#include"QDate"
#include"QDebug"
 
week::week()
{
    width=100;
    numberOfWeek=0;
}
 
void week::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
        QStylePainter p( widget );
        QDate date;
        int dayOfWeek=date.currentDate().dayOfWeek();
        QStyleOptionButton monday,tuesday,wednesday,thursday,friday,saturday,sunday;
        monday.initFrom(widget);
        monday.state=QStyle::State_Raised | QStyle::State_Enabled;
        monday.rect=QRect(0,0,width,30);
        monday.text=(date.currentDate().addDays(1-dayOfWeek+numberOfWeek).toString());
        tuesday.initFrom(widget);
        tuesday.state=QStyle::State_Raised | QStyle::State_Enabled;
        tuesday.rect=QRect(width,0,width,30);
        tuesday.text=(date.currentDate().addDays(2-dayOfWeek+numberOfWeek).toString());
        wednesday.initFrom(widget);
        wednesday.state=QStyle::State_Raised | QStyle::State_Enabled;
        wednesday.rect=QRect(width*2,0,width,30);
        wednesday.text=(date.currentDate().addDays(3-dayOfWeek+numberOfWeek).toString());
        thursday.initFrom(widget);
        thursday.state=QStyle::State_Raised | QStyle::State_Enabled;
        thursday.rect=QRect(width*3,0,width,30);
        thursday.text=(date.currentDate().addDays(4-dayOfWeek+numberOfWeek).toString());
        friday.initFrom(widget);
        friday.state=QStyle::State_Raised | QStyle::State_Enabled;
        friday.rect=QRect(width*4,0,width,30);
        friday.text=(date.currentDate().addDays(5-dayOfWeek+numberOfWeek).toString());
        saturday.initFrom(widget);
        saturday.state=QStyle::State_Raised | QStyle::State_Enabled;
        saturday.rect=QRect(width*5,0,width,30);
        saturday.text=(date.currentDate().addDays(6-dayOfWeek+numberOfWeek).toString());
        sunday.initFrom(widget);
        sunday.state=QStyle::State_Raised | QStyle::State_Enabled;
        sunday.rect=QRect(width*6,0,width,30);
        sunday.text=(date.currentDate().addDays(7-dayOfWeek+numberOfWeek).toString());
        p.drawControl(QStyle::CE_PushButton,monday);
        p.drawControl(QStyle::CE_PushButton,tuesday);
        p.drawControl(QStyle::CE_PushButton,wednesday);
        p.drawControl(QStyle::CE_PushButton,thursday);
        p.drawControl(QStyle::CE_PushButton,friday);
        p.drawControl(QStyle::CE_PushButton,saturday);
        p.drawControl(QStyle::CE_PushButton,sunday);
}
 
void week::nextWeek(){
    numberOfWeek+=7;
    qDebug()<<numberOfWeek;
    update();
}
void week::previousWeek(){
    numberOfWeek-=7;
    qDebug()<<numberOfWeek;
    update();
}

monday.text=(date.currentDate().addDays( 1-dayOfWeek+numberOfWeek).toString())
1-понедельник(первый день недели)
dayOfWeek- нынешний день недели
numberOfWeek-номер недели начиная с этой*7(эта 0,следующая 1*7, предыдущая -1*7)
поидее при вызове функций nextWeek или previousWeek панель должна была перерисовываться с новыми значениями но не перерисовывается
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
18.01.2012, 15:43
Цитата Сообщение от fabricant Посмотреть сообщение
панель должна была перерисовываться с новыми значениями
Почему должна - не знаю. После вызова update() вызывается функция paintEvent (судя по моему коду). У Вас ее нет (точнее Вы ее не переопределяли).
0
2 / 2 / 0
Регистрация: 30.05.2009
Сообщений: 25
18.01.2012, 16:57  [ТС]
paintEvent нужно переопределять в QWidget в QGraphicsWidget нужно переопределить paint и она вызывается после update()

Добавлено через 1 час 11 минут
У меня небольшой прогресс в перерисовки панели если создать 2 окна(2 окно было пустой QGraphicsView) вызвать функцию nextWeek и сделать активным 2 окно на 1 окне панель пере рисуется. Кто то знает почему так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2012, 16:57
Помогаю со студенческими работами здесь

Суперкласс и подкласс
Подскажите почему в результате, программа выводит на экран и текст суперкласса и подкласса, хотя должна выводить только второе (ndemo r =...

Создать класс и подкласс
Здравствуйте! Есть у меня такое задание: 1. Создать свой класс &quot;Преподователь&quot; с такими полями: &quot;Фамилия&quot;,...

Как убрать подкласс в программке
Уважаемые форумчане нужно сначала вот из этой программке убрать подкласс. #include &lt;iostream&gt; #include &lt;string&gt; #include...

НЕ создаётся подкласс класса string
Почему, друзья? #include &lt;stdio.h&gt; #include &lt;string&gt; using namespace std; int main () { string stroka (&quot;stroka&quot;); class...

Переопределение методов, суперкласс, подкласс
package MyPack; class CorTriangle { double side; CorTriangle(double s) { side=s; } ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru