Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75

Взять значение из void в void

10.01.2015, 22:31. Показов 1523. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем "зрасьте" ) У меня есть прога в которой я при помощи keyPressEven() и switch{} изменяю значения клавишами, ну ок скажете вы, далее есть функция virtual void paintGl() в которой я должен изменять значение ось "x" на одной вершине.Вопрос в том, как мне передать значение из void keyPressEvent() в virtual void paintGl() если void keyPressEvent() не может возвращать значения, какие способы можно применить? Спасибо за понимание.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2015, 22:31
Ответы с готовыми решениями:

System.Void из C# использоваться не может - для получения объекта типа void используйте typeof (void)
Изучаю с# по "Шилдт Г. - C# 4.0 полное руководство" При изучении конструктора возникла проблема: попытался запустить код на стр. 169, а...

Дважды вычислить значение выражения, используя функции возвращающие void и не void
Хай!Помогите решить Дважды вычислить значение выражения, используя функции возвращающие void и не void....

Реализовать аналог `void *memmove(void *to, void *from, size_t n)`
Добрый день, подскажите пожалуйста, как реализовать такой метод самостоятельно? который копирует из одного массива в другой n элементов ...

13
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
10.01.2015, 22:34
Ты ведь значения вершин гдето хранишь? Вот и меняй их сразу внутри keyPressEvent
0
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 14:39  [ТС]
Вот две функции, вершина как стояла на месте так и стоит, в конструкторе x(0) указал.
C++ (Qt)
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
void Widget::keyPressEvent(QKeyEvent *ke)
{
 
    switch (ke->key())
    {
 
 
        case Qt::Key_A:
        ++x;
        qDebug() << "A нажата"<<x;
 
 
 
        break;
        case Qt::Key_S:
        --x;
 
        qDebug() << "S нажата"<<x;
        break;
 
}
 
}
 
void Widget::paintGL()
{
 
 
 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
    glBegin(GL_QUADS);
 
 
 
 
        glColor3f(1, 0, 0);//цвет на последующую вершину
/*[1]*/ glVertex2f(x, 100);//рассположение вершины
            glColor3f(0, 1, 0);
   /*[2]*/ glVertex2f(100, 100);
 
           glColor3f(0, 0, 1);
   /*[3]*/ glVertex2f(100, 0);
 
            glColor3f(1, 1, 1);
  /*[4]*/  glVertex2f(0, 0);
 
 
    glEnd();
 
 qDebug() <<"ЗНАЧЕНИЕ X"<<x;
 
}
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
11.01.2015, 14:42
Cyber_Fighter, а значение x меняется?
0
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 14:55  [ТС]
в keyEvente меняется а в от в painGL нет
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
11.01.2015, 15:12
Cyber_Fighter, ты уверен, что они смотрят на нужный один и тот же x?
0
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 15:19  [ТС]
arrjj, да в классе объявлен один int x и эти функции обращаются именно к нему
0
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
11.01.2015, 15:21
Цитата Сообщение от Cyber_Fighter Посмотреть сообщение
в keyEvente меняется а в от в painGL нет
А у тебя painGL точно вызывается? То есть в дебаггер после твоих действий(нажатий на A или S) всё равно пишет новые строки со статичным "ЗНАЧЕНИЕ X"?
0
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 15:24  [ТС]
Shtirliz72, Нет "ЗНАЧЕНИЕ X" пишет только один раз до моих манипуляций, меня это тоже смущает
0
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 15:39  [ТС]
Вот исходники:
gl.rar
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
11.01.2015, 16:03
добавь вызов updateGL(); в keyPressEvent (либо по таймеру вызывай)
1
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 16:13  [ТС]
arrjj, Ой спасибо тебе большое верил что есть такая функция
0
205 / 165 / 41
Регистрация: 25.10.2013
Сообщений: 527
11.01.2015, 16:36
Цитата Сообщение от Cyber_Fighter Посмотреть сообщение
Shtirliz72, Нет "ЗНАЧЕНИЕ X" пишет только один раз до моих манипуляций, меня это тоже смущает
Вот с этого и следовало начинать. =)
У тебя ведь проблема была не с переменной, а с тем, что ты принудительно не перерисовывал отображение после её изменения.
1
 Аватар для Cyber_Fighter
3 / 3 / 0
Регистрация: 02.01.2014
Сообщений: 75
11.01.2015, 16:40  [ТС]
Shtirliz72, согласен я думал там автоматом все перерисовывается потом понял что дело не в переменной так что тебе тоже спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2015, 16:40
Помогаю со студенческими работами здесь

Как из потока public void X1() извлечь значение string в public void X2()
Как из: public void X1() \\Запускается из потока (Process = new Thread(X1)) { //Какой то алгоритм string str =...

Ошибка cannot convert from type void*(classname::) () to type void*(*)(void*)
Подскажите пожалуйста как избавиться от ошибки? Есть ещё какой-либо способ, кроме как объявить thread_func как static? Можно конечно...

Void menu(void); что это ? почему не void menu();
void menu(void); что это ? почему не void menu(); void naprimer(void); и это идет в классе это вообще правильно так писать ?

Для чего нужна функция void interrupt(void) и как её использовать?
Любую функцию сначать надо определить потом вызвать скажем так: int simple_function () //определили функцию { return 0; } ...

Как сделать вызов такого метода: void *qs(void *arg){ } ?
Есть метод: void *qs(void *arg){ //... } Я пытаюсь его вызвать: //...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru