qt

Описание: Разработка и отладка приложений. Упор на 3D-графику.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#37 dyvniy » Вт, 9 июня 2015, 14:25:03

Qt + Boost
http://stackoverflow.com/questions/3451099/stdauto-ptr-to-stdunique-ptr
Windows 7 with Qt Creator 2.7.1, Qt 4.8.4 and Boost 1.54. Here is qmake project file.

Код: Выделить всё


TEMPLATE 
app
CONFIG 
+= console
CONFIG 
-= app_bundle
CONFIG 
-= qt

SOURCES 
+= main.cpp

win32 
{
    
INCLUDEPATH += C:/boost/include/boost-1_54
    LIBS 
+= -LC:/boost/lib \
            -
lboost_serialization-mgw46-mt-d-1_54 \
            -
lboost_filesystem-mgw46-mt-d-1_54 \
            -
lboost_system-mgw46-mt-d-1_54
}
 
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#38 dyvniy » Чт, 6 августа 2015, 13:26:29

Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#39 dyvniy » Пн, 14 сентября 2015, 16:57:51

Qt + OpenCL
http://www.cyberforum.ru/qt/thread1284957.html
Open cl nvidia https://developer.nvidia.com/opencl
Спойлер
Вот как у меня по пунктам все происходит.
1). Скачать OpenCL. OpenCL Multi Threads
2). Подключить библиотеку и хэдеры.
Код C++ (QT)Выделить код
LIBS += -L[Ваш путь]OpenCL/common/lib/Win32 -lOpenCL
INCLUDEPATH += [Ваш путь]/OpenCL/common/inc
DEPENDPATH += [Ваш путь]/OpenCL/common/inc
3). Подключаю opengl.h и пишу такой код.

Код: Выделить всё

#include <CL/opencl.h>
#include <QDebug>
 
 
int main
(int argc, char *argv[])
{
    cl_uint numPlatforms=0;
    cl_platform_id* Platforms=0;
 
    clGetPlatformIDs
(0, NULL, &numPlatforms);
    Platforms = new cl_platform_id[numPlatforms];
    clGetPlatformIDs(numPlatforms, Platforms, NULL);
 
    if
(numPlatforms==0)
    {
        qDebug() << "numPlatforms == 0";
        return 0;
    }
    if(Platforms==0)
    {
        qDebug() << "Platforms == 0";
        return 0;
    }
 
    for
(int i=0;i<numPlatforms;++i)
    {
        cl_platform_id Platform = 0;
        Platform = Platforms[i];
        if(Platform == 0)
        {
            qDebug() << "Platform == 0";
            continue;
        }
 
        char pbuf
[100];
        size_t retSize = 0;
        memset(pbuf,0,sizeof(pbuf));
        clGetPlatformInfo(Platform,CL_PLATFORM_NAME, sizeof(pbuf), pbuf, &retSize);
        qDebug() << "PLATFORM_NAME =" << QString(pbuf);
 
        cl_uint numDevices
=0;
        cl_device_id* Devices=0;
 
        cl_uint maxOfDevices
=10;
        clGetDeviceIDs(Platform, CL_DEVICE_TYPE_ALL, maxOfDevices, Devices, &numDevices);
 
        if
(numDevices==0)
        {
            qDebug() << "numDevices == 0";
            break;
        }
        if(Devices==0)
        {
            qDebug() << "Devices == 0";
            break;
        }
 
        for
(int j=0;j<numDevices;++j)
        {
            cl_device_id Device = 0;
            Device = Devices[j];
            if(Device==0)
            {
                qDebug()<< "Device == 0";
                continue;
            }
 
            char pbuf
[100];
            size_t retSize = 0;
 
            clGetDeviceInfo
(Device, CL_DEVICE_NAME, sizeof(pbuf), pbuf, &retSize);
            qDebug() << "DEVICE_NAME =" << QString(pbuf);
        }
    }
 
    return 0
;

Итог).
PLATFORM_NAME = "NVIDIA CUDA"
Devices == 0
p.s. До этого каким то чудом находил мою видеокарту. Но что изменилось я пока найти не могу. Прошу Вашей помощи.
p.s.s. GTX 670.

Добавлено через 11 минут
Скорее всего я ошибся разделом. Так как тут нет упоминания Qt библиотек. Прошу если не затруднит перенести в правильный раздел.
Вложения
nvidia_oclMultiThreads.zip
(711.92 КБ) 99 скачиваний
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#40 dyvniy » Чт, 22 октября 2015, 18:06:45

Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#41 dyvniy » Чт, 24 декабря 2015, 09:31:24

Стили Qlabel
https://toster.ru/q/124545#answer_365725
Спойлер
Если вам нужно выделить контур самого QLabel'а, то можно просто воспользоваться Qt Style Sheets (QSS):

vaw5jdE.png
ui->label->setStyleSheet("QLabel {"
"border-style: solid;"
"border-width: 1px;"
"border-color: black; "
"}");

Если необходимо выделить контур именно текста, то может помочь Shadow Effect:

FEZVbrJ.png
QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect(this);
effect->setOffset(-1, -1);
effect->setColor(Qt::yellow);
ui->label->setGraphicsEffect(effect);


Контур текста с размытием:

vAuWBUn.png
QGraphicsDropShadowEffect *eff = new QGraphicsDropShadowEffect(this);
eff->setOffset(0, 0);
eff->setBlurRadius(5.0);
eff->setColor(Qt::red);
ui->label->setGraphicsEffect(eff);


Обводка текста с помощью перегруженного метода paintEvent():

nDejj4M.png
void Widget::paintEvent(QPaintEvent *)
{
int off = 10;
QPainter painter(this);
QPainterPath path;
QFont drawFont("Sans", 20);
path.addText(off, drawFont.pointSize() + off, drawFont, text());
painter.setRenderHints(QPainter::Antialiasing);
painter.strokePath(path, QPen(QColor("#FF8C00"), 4));
painter.fillPath(path, QBrush(Qt::black));
resize(path.boundingRect().size().toSize().width() + off * 2, path.boundingRect().size().toSize().height() + off * 2);
}
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#42 dyvniy » Пт, 25 декабря 2015, 10:04:02

Qt5 icudt53.dll можно уменьшить
http://stackoverflow.com/questions/18914274/reducing-size-of-icudt51-dll

Here the direct links of my reduced-size DLL:
Version 51 for Qt 5.1.x: http://www.qlcplus.org/misc/icudt51.dll (711Kb)
Version 52 for Qt 5.3.x: http://www.qlcplus.org/misc/icudt52.dll (724Kb)
Version 53 for Qt 5.4.x (thanks to frankiefrank): http://www.qlcplus.org/misc/icudt53.dll (834Kb)
Version 54 for Qt 5.5.x: http://www.qlcplus.org/misc/icudt54.dll (812Kb)
Version 55 for latest Qt in MSYS2: http://www.qlcplus.org/misc/icudt55.dll (717Kb)
Изображение


Название раздела: Программирование (под Desktop и Android)
Описание: Разработка и отладка приложений. Упор на 3D-графику.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Программирование (под Desktop и Android)»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 14 гостей