Russian Qt Forum
Март 29, 2024, 03:02
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Помощь для новичков
Страниц:
1
...
5
6
[
7
]
8
9
...
11
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Помощь для новичков (Прочитано 118907 раз)
Геннадий Носов
Гость
Re: Помощь для новичков
«
Ответ #90 :
Август 20, 2015, 18:35 »
Цитата: Igors от Август 20, 2015, 10:26
И одно другому не мешает - MSVC совсем неплохо дружит с Qt, нужно только поставить Add-In
Слышал о этом, но как-то не очень разобрался и в итоге поставил Qt отдельно. Это не принципиально? Или лучше поставить Add-In если VS уже установлена?
И ещё такой вопрос: в самом Qt много примеров и справочной информации встроено, но всё на английском. Не подскажите, есть ли где-то эти материалы с переводом?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Помощь для новичков
«
Ответ #91 :
Август 20, 2015, 18:56 »
Цитата: Геннадий Носов от Август 20, 2015, 18:35
Слышал о этом, но как-то не очень разобрался и в итоге поставил Qt отдельно. Это не принципиально? Или лучше поставить Add-In если VS уже установлена?
Без Add-In придется вместо MSVC придется использовать Qt Creator, mingw и.т.п. То есть можно, но с MSVC придется расстаться, устраивает ли Вас это - смотрите сами.
Цитата: Геннадий Носов от Август 20, 2015, 18:35
И ещё такой вопрос: в самом Qt много примеров и справочной информации встроено, но всё на английском. Не подскажите, есть ли где-то эти материалы с переводом?
Полно и на русском, но что это за программист если инглиш не понимает? Плохо начинаете
Записан
Геннадий Носов
Гость
Re: Помощь для новичков
«
Ответ #92 :
Август 21, 2015, 15:00 »
Всем добрый день)
Я решил последовать совету который мне дали выше, и установить Add-In к VS.
У меня Qt 5.5.0 и VS ultimate 2013
Я устанавливал qt-vs-addin-1.2.3-opensource
Делал как написано в этой статье
http://savepearlharbor.com/?p=181532
Только я переменные среды задал так (по аналогии)
Вкладка Qt в студии появилась, однако при попытке собрать проект выдало ошибку:
Код:
--- (Import): Generating new project of paint2.pro file
--- (qmake) : Using: c:\qt\qt5.5.0\5.5\msvc2013_64\bin\qmake
--- (qmake) : Working Directory: E:\Qt\APP2\paint2
--- (qmake) : Arguments: -tp vc "paint2.pro" -o "paint2.vcxproj" QMAKE_INCDIR_QT=$(QTDIR)\include QMAKE_LIBDIR=$(QTDIR)\lib QMAKE_MOC=$(QTDIR)\bin\moc.exe QMAKE_QMAKE=$(QTDIR)\bin\qmake.exe
[1] - Could not find qmake configuration file win32-msvc2013_64.
[2] - Error processing project file: paint2.pro
--- (Import): Error(s): 2
--- (qmake) : Exit Code: 3
--- (Import): Generating new project of paint2.pro file
--- (qmake) : Using: c:\qt\qt5.5.0\5.5\msvc2013_64\bin\qmake
--- (qmake) : Working Directory: E:\Qt\APP2\paint2
--- (qmake) : Arguments: -tp vc "paint2.pro" -o "paint2.vcxproj" QMAKE_INCDIR_QT=$(QTDIR)\include QMAKE_LIBDIR=$(QTDIR)\lib QMAKE_MOC=$(QTDIR)\bin\moc.exe QMAKE_QMAKE=$(QTDIR)\bin\qmake.exe
[1] - Could not find qmake configuration file win32-msvc2013_64.
[2] - Error processing project file: paint2.pro
--- (Import): Error(s): 2
--- (qmake) : Exit Code: 3
судя по строчке
Код:
[1] - Could not find qmake configuration file win32-msvc2013_64.
я не правильно задал QMAKESPEK. Во всяком случае мне так кажется. Проблема в том что как правильно, я не знаю.
«
Последнее редактирование: Август 21, 2015, 15:22 от Геннадий Носов
»
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помощь для новичков
«
Ответ #93 :
Август 21, 2015, 15:05 »
win32-msvc2013 указывайте
Записан
Hellraiser
Бывалый
Offline
Сообщений: 451
Re: Помощь для новичков
«
Ответ #94 :
Август 21, 2015, 15:51 »
При установленном дополнении к студии переменные QMAKESPEC и QTDIR определять не надо. Дополнение сделает это само, в зависимости от выбранной в проекте версии Qt. PATH надо определить только для запуска приложений вне студии, т.е. для поиска Qt dll.
P.S. Почитал статью - больше вреда, чем пользы. Переменные определяются автоматически, подключаемые модули выбираются через меню, список библиотек, директивы и пути поиска тоже определяются самим плагином.
«
Последнее редактирование: Август 21, 2015, 15:54 от Hellraiser
»
Записан
Геннадий Носов
Гость
Re: Помощь для новичков
«
Ответ #95 :
Август 21, 2015, 19:18 »
Цитата: __Heaven__ от Август 21, 2015, 15:05
win32-msvc2013 указывайте
Спасибо) Заработало))
Ну а в целом, как я теперь понял, можно было вообще без всяких заморочек просто поставить Add-On?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Помощь для новичков
«
Ответ #96 :
Август 22, 2015, 10:33 »
Цитата: Геннадий Носов от Август 21, 2015, 19:18
Ну а в целом, как я теперь понял, можно было вообще без всяких заморочек просто поставить Add-On?
Та не знаю, у меня в свое время на MSVC 2012 сразу встало, никаких статей не читал
Была одна проблема - не хотела переводить имеющийся MSVC проект в Qt, пришлось добавить строку в файл проекта
Записан
Ilia_Ivanov
Гость
Re: Помощь для новичков
«
Ответ #97 :
Сентябрь 24, 2015, 22:39 »
У меня Qt 5.5.0 и VS ultimate 2013
Маленький совет - если вы не на рабочем компьютере, где Ultimate версия куплена и поставлена за вас, используйте версию Community, лучше сразу 2015. Если вам всё купили, нет проблем, а так Microsoft вам делает щедрый подарок. Пиратка в наше время сильно не одобряется, сам начинал с Ultimate версии, сильно удивился, когда вышла бесплатная редакция.
Записан
Ilia_Ivanov
Гость
Re: Помощь для новичков
«
Ответ #98 :
Сентябрь 24, 2015, 22:46 »
Та не знаю, у меня в свое время на MSVC 2012 сразу встало, никаких статей не читал Улыбающийся Была одна проблема - не хотела переводить имеющийся MSVC проект в Qt, пришлось добавить строку в файл проекта
Я начинал с Qt Creator, был поражён, насколько неудобная в нем отладка. Тормозит на каждом брекпойнте. Со студией проблем нет вообще никаких, кроме одной - не хочет открывать файл Qt Project. Было бы очень удобно. Скачал Qt Source, открыл файл pro из комплекта - студия сделала невалидный файл решения, который не открывается. И так с каждым проектом. Designer запускается отлично, Linquist не проверял, когда дойдут руки до локализации, проверю.
Записан
Meloman
Гость
Re: Помощь для новичков
«
Ответ #99 :
Ноябрь 17, 2015, 15:57 »
Здравствуйте.
Ранее был установлен Qt Creator 3.3.2. В нем была возможность при создании нового проекта выбрать "Интерфейс Qt Quick"
После переустановки винды установил Qt Creator 3.5.1 , в нем нет такого выбора.
Вопрос: можно ли создавать в новом Креаторе простые QML проекты, без использования С++.
Ранее созданные проекты отлично работают, новые создать не получается. Настройки креаторы рыл - ничего не нашел.
Спасибо.
Благодарю тех, кто откликнулся (а может хотел, но не успел откликнуться)
Нашел сам. Теперь этот тип проекта располагается в разделе "Другой проект" именуется "Qt Quick UI" и "Qt Quick Controls UI".
«
Последнее редактирование: Ноябрь 18, 2015, 03:07 от Meloman
»
Записан
Геннадий Носов
Гость
Re: Помощь для новичков
«
Ответ #100 :
Март 14, 2016, 23:28 »
Сделал простую рисовалку. Суть: при событии mousePressEvent координаты точки сохраняются в массив. Потом в цикле все точки из этого массива отрисовываются в событии paintEvent
Тоже самое происходит при событии mouseMoveEvent но точки сохраняются в другой массив. К тому же при нажатии правой кнопки объекту QPainter присваивается перо другого цвета.
Проблема такая: линия всегда рисуется непрерывная, если закончить линию в одно месте, а потом начать в другом, начало второй линии соединяется с концом первой.
К тому же, при изменении цвета меняется цвет всего что нарисовано. При описанном методе рисования иначе и быть не может, очевидно. Ведь фактически каждый раз вся картинка перерисовывается заново на основе массивов.
А как сделать чтоб линии рисовались отдельно, не соединяясь вместе, и каждая своим цветом?
Понятно, что можно для каждой новой линии создавать массив, и и записывать дополнительно переменную отвечающую за цвет, а в событии рисования всё это рисовать. Но наверняка ведь есть способ попроще?
Ну и сама программа:
main:
Код:
#include "paint.h"
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
paint w;
w.show();
return a.exec();
}
paint.h:
Код:
#ifndef PAINT_H
#define PAINT_H
#include <QtWidgets>
class paint : public QWidget
{
Q_OBJECT
public:
int btn;
QVector<QPoint> vec;
QVector<QPoint> vec2;
explicit paint(QWidget *parent = 0);
protected:
virtual void paintEvent(QPaintEvent*);
virtual void mousePressEvent(QMouseEvent * ev);
virtual void mouseMoveEvent(QMouseEvent * ev2);
signals:
public slots:
};
#endif // PAINT_H
paint.cpp
Код:
#include "paint.h"
paint::paint(QWidget *parent) : QWidget(parent)
{
}
void paint::paintEvent(QPaintEvent *)
{
QPainter p(this);
p.setPen(QPen(Qt::black,3));
if(btn==1){
p.setPen(QPen(Qt::white,3));
}
for(int i = 0; i<vec.count(); ++i)
{
p.drawPoint(vec[i]);
}
for(int i = 1; i<vec2.count(); ++i)
{
p.drawLine(vec2[i-1],vec2[i]);
}
}
void paint::mousePressEvent(QMouseEvent *ev)
{
if(ev->button()==Qt::RightButton){
btn=1;
}
else{
btn=0;
}
vec.insert(vec.end(),ev->pos());
this->repaint();
}
void paint::mouseMoveEvent(QMouseEvent *ev2)
{
vec2.insert(vec2.end(),ev2->pos());
this->repaint();
}
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помощь для новичков
«
Ответ #101 :
Март 15, 2016, 09:45 »
Кто такой vec и vec2? Подозреваю, QVector<QPoint>. У вектора есть замечательные методы, добавляющие в конец: push_back, append и operator<<
Код
C#
vec.
append
(
ev
->
pos
(
)
)
;
vec2
<<
ev2
->
pos
(
)
Рисуются линии непрерывно, потому что вы в цикле просите брать предыдущую точку и текущую.
В идеале, вам надо бы завести структуру Segment, с 2 точками и цветом или воспользоваться QPair<QPoint, QPoint>. Если хочется побыстрее, то измените цикл на
Код
C++ (Qt)
for
(
int
i
=
1
;
i
<
vec2.
count
(
)
;
i
+=
2
)
Нет ничего страшного хранить отдельно цвета и каждый раз их использовать при перерисовке.
Быть может более опытные пользователи подскажут, есть ли возможность рисовать на прозрачный холст и при перерисовке натягивать его на виджет чтобы не хранить цвета, но мне кажется этот метод будет не очень.
Записан
Геннадий Носов
Гость
Re: Помощь для новичков
«
Ответ #102 :
Март 15, 2016, 14:14 »
Цитата: __Heaven__ от Март 15, 2016, 09:45
Кто такой vec и vec2? Подозреваю, QVector<QPoint>. У вектора есть замечательные методы, добавляющие в конец: push_back, append и operator<<
Спасибо)
Цитата: __Heaven__ от Март 15, 2016, 09:45
Нет ничего страшного хранить отдельно цвета и каждый раз их использовать при перерисовке.
Быть может более опытные пользователи подскажут, есть ли возможность рисовать на прозрачный холст и при перерисовке натягивать его на виджет чтобы не хранить цвета, но мне кажется этот метод будет не очень.
Я и не говорю, что это страшно... Напротив, в каких-то ситуациях возможность быстро изменить стиль линии и цвет сразу всего рисунка может оказаться очень даже полезной... Просто я делал раньше нечто подобное в Visual Studio и там в методе рисования новые точки просто дорисовывались к тому, что уже есть в окне. Никаких дополнительных массивов и проблем с рисованием разными цветами... Я и подумал, может в Qt есть аналогичный режим?
«
Последнее редактирование: Март 15, 2016, 14:18 от Геннадий Носов
»
Записан
Геннадий Носов
Гость
Re: Помощь для новичков
«
Ответ #103 :
Март 26, 2016, 00:55 »
Здравствуйте!
Такая проблема:
Захотел программу из Qt на другом компе запустить... Она сначала ругалась, что отсуствуют длл, я их искал и клал с программой в одну папку. Вроде в интернете написано что так надо делать... Но в конце концов оно мне выдало какое-то сообщение не касающееся длл и всё равно не запускается.
Что делать?
«
Последнее редактирование: Март 26, 2016, 01:06 от Геннадий Носов
»
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Помощь для новичков
«
Ответ #104 :
Март 26, 2016, 01:03 »
папку platform тоже киньте. точнее windows.dll
Записан
Страниц:
1
...
5
6
[
7
]
8
9
...
11
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...