Russian Qt Forum

Qt => Общие вопросы => Тема начата: Сергей85 от Апрель 12, 2017, 19:27



Название: QT Creator 3.5.1: третья порция вопросов.
Отправлено: Сергей85 от Апрель 12, 2017, 19:27
1. Существует ли встроенная функция Round для дробных чисел?
2. Как получить доступ к элементам формы внутри функции? Описал ее в Public в .h, описал Form_Main::название - сама функция работает как часы с глобальными и локальными переменными. Но не видит ни одного элемента формы. Нельзя написать Button_Puk.visible, потому что не существует для нее Button_Puk.
3. Есть структура массивов. Как при дебаге сделать удобный ее просмотр? Например, в VB6 или BCB6 добавляешь в Watch - и плюсиками ее раскрываешь, смотришь все элементы массива сразу. А в QT так не выходит. Приходится размещать множество конструкций виде struct[m].param[j].massive[k] - и точечно их просматривать.
4. Как настроить проект, чтобы при открытии его cpp-файлов все фунции не разворачивались автоматически? Очень неудобно проматывать простыню.
5. Где версию проекта можно обозначить? А то в EXE идет как 0.0.0.0.


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: Day от Апрель 12, 2017, 20:23
Цитировать
4. Как настроить проект, чтобы при открытии его cpp-файлов все фунции не разворачивались автоматически? Очень неудобно проматывать простыню.
Старайся сам структурировать свой код так, чтобы на него тебе же было приятно смотреть. Как говаривала незабвенная Фаина Раневская - "меньше пены - больше функций!" Есть, конечно, в редакторе Креатора  кнопочки "+", "-". Но, имхо, это подспорье для калек. Мы же таковыми себя не считаем, не правда ли?


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: Сергей85 от Апрель 12, 2017, 20:27
Цитировать
4. Как настроить проект, чтобы при открытии его cpp-файлов все фунции не разворачивались автоматически? Очень неудобно проматывать простыню.
Старайся сам структурировать свой код так, чтобы на него тебе же было приятно смотреть. Как говаривала незабвенная Фаина Раневская - "меньше пены - больше функций!" Есть, конечно, в редакторе Креатора  кнопочки "+", "-". Но, имхо, это подспорье для калек. Мы же таковыми себя не считаем, не правда ли?

Давайте по делу.


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: Apktyc от Апрель 12, 2017, 21:04
1. Существует ли встроенная функция Round для дробных чисел?
qRound (http://doc.qt.io/qt-4.8/qtglobal.html#qRound) не? А также qCeil qFloor.
2. Как получить доступ к элементам формы внутри функции? Описал ее в Public в .h, описал Form_Main::название - сама функция работает как часы с глобальными и локальными переменными. Но не видит ни одного элемента формы. Нельзя написать Button_Puk.visible, потому что не существует для нее Button_Puk.
Предположу, что речь идет о форме, созданной через редактор форм, поэтому доступ будет через ui. (ui->Button_Puk)
5. Где версию проекта можно обозначить? А то в EXE идет как 0.0.0.0.
Тыц (http://doc.qt.io/qt-5/qmake-variable-reference.html#version)


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: nvek от Апрель 14, 2017, 13:08
я например простыню скрываю
#pragma region 1
endregion


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: __Heaven__ от Апрель 17, 2017, 09:44
1. http://en.cppreference.com/w/cpp/numeric/math/round
3. В дебаге всё открывается в виде списка. Можно найти нужный элемент и раскрыть его список, и т.д. Также можно в коде ссылки создавать, которые потом и просматривать в цикле.
Код
C++ (Qt)
for (size_t m = 0; ...) {
   MyStruct &currentStruct = struct[m];
   for (size_t j = 0; ...) {
       Param &currentParam = currentStruct[j];

Цитировать
4. Как настроить проект, чтобы при открытии его cpp-файлов все фунции не разворачивались автоматически? Очень неудобно проматывать простыню.
Старайся сам структурировать свой код так, чтобы на него тебе же было приятно смотреть. Как говаривала незабвенная Фаина Раневская - "меньше пены - больше функций!" Есть, конечно, в редакторе Креатора  кнопочки "+", "-". Но, имхо, это подспорье для калек. Мы же таковыми себя не считаем, не правда ли?

Давайте по делу.
А что по делу? разделяй и властвуй (https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D1%8F%D0%B9_%D0%B8_%D0%B2%D0%BB%D0%B0%D1%81%D1%82%D0%B2%D1%83%D0%B9_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0))

5. http://doc.qt.io/qt-5/qmake-variable-reference.html#version


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: Сергей85 от Апрель 18, 2017, 20:22
3. В дебаге всё открывается в виде списка. Можно найти нужный элемент и раскрыть его список, и т.д. Также можно в коде ссылки создавать, которые потом и просматривать в цикле.

Скрин в студию. У нас трое программистов это сделать со структурой не могут.


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: kambala от Апрель 18, 2017, 20:53
3. можно попробовать другую среду / компилятор


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: __Heaven__ от Апрель 19, 2017, 09:20
3. В дебаге всё открывается в виде списка. Можно найти нужный элемент и раскрыть его список, и т.д. Также можно в коде ссылки создавать, которые потом и просматривать в цикле.

Скрин в студию. У нас трое программистов это сделать со структурой не могут.


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: __Heaven__ от Апрель 19, 2017, 09:21
Ток у меня не 3.5.1 версия


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: Сергей85 от Апрель 19, 2017, 19:30
Ток у меня не 3.5.1 версия

Хех, вот и ответ. У нас разные с вами структуры к тому же. У меня внутри массивы данных вида float *fValues, которые потом выделяются как new float[33] - а у вас какой-то кувектор. Впрочем, это не так важно: структура разворачивается и показывает только данные одного числа из массива флоатов (полагаю, первое). Чтобы выйти на второе - помогает только struct.fvalues[30] размещением в дебаггере.


Название: Re: QT Creator 3.5.1: третья порция вопросов.
Отправлено: __Heaven__ от Апрель 19, 2017, 20:07
Ясно. Для отображения массива по указателю рекомендую попробовать:
Правой кнопкой мыши в окне дебагера -> Dereference pointers automaticly
ПКМ на переменной-> change value display format,  в группе Change Display for Object ... -> Array of 10 items (там 2 таких пункта, нужно выбрать из указанной группы)