Реклама

Тег → c++

  • cordsac
  • Вопрос
  • 18 октября 2017 г. 23:03

How can I select the QGraphicView Item and change the properties

qt, c++

How can I select the QGraphicView items using mouse and change the properties(size,color).In this code I create Rectangles when the button clicks.But now I need to change properties of the rectangles.How can I select the each rectangle shapes using mouse and change the properties of the each one.


void Widget::on_btnCreateRect_clicked()
{

    QBrush blueBrush(Qt::green);
    QPen blackPen(Qt::black);
    blackPen.setWidth(2);

    rect = ui->graphicsView->scene()->addRect(-10,-10,250,100,blackPen);
    rect->setFlag(QGraphicsItem::ItemIsMovable, true);
}

http://doc.qt.io/qt-5/qtwidgets-graphicsview-diagramscene-example.html In this example it can select square shapes and change the color of each squares.I need to do same thing and change the size of each shape,but I have no idea to do it.how can I do it?
  • EVILEG
  • Тест
  • 17 октября 2017 г. 13:34

Qt - Тест 001. Сигналы и слоты

Qt, c++, сигнал, слот

Тестирование по базовому функционалу Qt. Применение сигналов и слотов в Qt/C++.
  • Cobra91151
  • Вопрос
  • 7 октября 2017 г. 16:28

Проблема при подключении к WiFi сетям

c++, qt, windows-application

Здравствуйте! Проблема в том что при реестрации соединения нужно выслать сигнал со статической функции.

Код:

WirelessConnect.h
static void WINAPI notificationCallBack(PWLAN_NOTIFICATION_DATA wlanData, PVOID context);
WirelessConnect.cpp DWORD dwResult = 0; dwResult = WlanRegisterNotification(hClient, WLAN_NOTIFICATION_SOURCE_ALL, TRUE, notificationCallBack, NULL, NULL, &dwPrevNotif); void WINAPI WirelessConnect::notificationCallBack(PWLAN_NOTIFICATION_DATA wlanData, PVOID context) { context = NULL; switch (wlanData->NotificationCode) { case wlan_notification_acm_connection_complete: emit apConnectionComplete(); qDebug() << "Connected!"; break; case wlan_notification_acm_connection_attempt_fail: emit apConnectionFailed(); qDebug() << "Failed!"; break; default: break; } } Test.cpp: WirelessConnect *wirelessAPConnect = new WirelessConnect(); connect(wirelessAPConnect, &WirelessConnect::apConnectionComplete, setAPConnection); connect(wirelessAPConnect, &WirelessConnect::apConnectionFailed, setAPConnectionFailed);

Ошибка: error: C2355: 'this': can only be referenced inside non-static member functions or non-static data member initializers.

Делал по другому:

dwResult = WlanRegisterNotification(hClient, WLAN_NOTIFICATION_SOURCE_ALL, TRUE, notificationCallBack, this, NULL, &dwPrevNotif);

void WINAPI WirelessConnect::notificationCallBack(PWLAN_NOTIFICATION_DATA wlanData, PVOID context)
{
    WirelessConnect *pThis = (WirelessConnect*)context;
    switch (wlanData->NotificationCode) {
        case wlan_notification_acm_connection_complete:
            pThis->apConnectionComplete();
        break;

        case wlan_notification_acm_connection_attempt_fail:
            pThis->apConnectionFailed();
        break;

        default:
            break;
    }
}

WLAN_CONNECTION_PARAMETERS connectionParameters;
connectionParameters.wlanConnectionMode = wlan_connection_mode_profile;
connectionParameters.strProfile = apName.toStdWString().c_str();
connectionParameters.dwFlags = 0;
connectionParameters.pDot11Ssid = NULL;
connectionParameters.pDesiredBssidList = 0;
connectionParameters.dot11BssType = dot11_BSS_type_any;
dwResult = WlanConnect(hClient, &pIfInfo->InterfaceGuid, &connectionParameters, NULL);

Сигнал передается но получается что идет или сбой программы позже или пишет что отключено сразу после подключения. Не могу точно проверить через Debugger где получается сбой, так как функция WlanConnect при подключении до сети возращает код 87 (неверный параметр) только в режиме Debug, в режиме Release все работает. Как думаете в чем может быть проблема и как это исправить? Спасибо.
  • Troffe
  • Вопрос
  • 12 сентября 2017 г. 19:42

Title bar

qml, qt, c++

Можно ли в QtQuick убрать\изменить  системный title bar? Если да можно пример пожалуйста.

  • EVILEG
  • Статья
  • 2 сентября 2017 г. 17:25

C++ - Урок 008. Перечисления

c++, enum, enumerations

В дополнение к классам C++ поддерживает перечисления. В современном стандарте C++ поддерживаются как перечисления без области видимости, которые были введены в ранних версиях C++, а также C.

enum ColorTypes {
    Green,
    Yellow,
    Red
};

Так и перечисления с областью видимости

enum class ColorTypes {
    Green,
    Yellow,
    Red
};

Проблема с получением значков для приложений

qt, c++, windows-application

Здравствуйте! Я хочу получить значки для всех установленных приложений (с помощью реестра) в Windows. Проблема в: QObject :: connect: не удается поставить в очередь аргументы типа 'QList ' (Убедитесь, что «QList » зарегистрирован с помощью qRegisterMetaType ().) Я подключаю данные из класса Worker QThread *programsThread = new QThread(); Worker *programsWorker = new Worker(); programsWorker->moveToThread(programsThread); connect(programsWorker, &Worker::appData, this, &Test::setAppData); QList programIcons; emit appData(programIcons, displayNames, displayVersions, publishers, installLocation, uninstallLocations); в `Test` классе записую данные в `QTreeWidgetItem` (`QTreeWidget`) void setAppData(QList icons, QStringList names, QStringList versions, QStringList publishers, QString installLocation, QStringList uninstallLocations); Как это исправить? Заранее спасибо.

  • Creator
  • Вопрос
  • 3 февраля 2017 г. 19:06

Qml C++

c++, qml

Как показать в Qt Widgets вывести QtQuick? Что бы можно было потом через c++ управлять объектами в qml. Интересует именно как поместить qml в qtwidgets. Делал когда то раньше, но забыл как.

  • MinusNol
  • Вопрос
  • 25 июля 2016 г. 17:19

Проблема с QSpacerItem

c++, QSpacerItem, Qt

Добрый день. Появляется окно “Прекращена работы программы…” после закрытия окна. Это связано с неправильным использованием указателей?
Это происходит, когда в один QHBoxLayout добавляю один и тот же QSpaserItem. Когда добавляю его только один раз, подобной ошибки не происходит.
Ниже код как пример. Разве мне следует создавать два разных QSpaserItem, для того чтобы добавить его слева и справа и не выводило подобной ошибки?
В Qt 5.3.2 подобной ошибки не возникало, это происходит в Qt 5.5.1.

#include "widget.h"
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    button = new QPushButton("Слева и справа Spaser");
    hbox = new QHBoxLayout(this);
    spaser = new QSpacerItem(100, 0);
 
    hbox->addSpacerItem(spaser);
    hbox->addWidget(button);
    hbox->addSpacerItem(spaser);
 
}
 
Widget::~Widget()
{
}

  • BlinCT
  • Вопрос
  • 26 апреля 2016 г. 18:05

Custom QQuickItem — добавляем в QML объект из C++(click на таймере)

qml, c++, timer, custom qquickitem

Всем привет.
Возникла такая проблема, уже несколько дней бьюсь над проблемой, как задать метод для клика по самому объекту timer?
То есть в данном проекте Евгений демонстрирует, как подцепляем на QML слой объекты кнопок и дает им добро на управление таймером, стоп/старт/сброс.
Но вот как дать самому таймеру метод нажатия? То есть нажали один раз на него и если таймер не запущен то он запускается, а при втором нажатии останавливается. Ну и само собою кнопка внешняя на сброс, тут уже из самого примера есть.
Дополнение по теме, если важно: задумка такая, что если на таймере не установлено время, то при запуске он увеличивает время, но если задали какое-то время например через какой то объект, то тогда время будет идти от выставленного до 0.
Заранее большое спасибо откликнувшимся).
Реклама
  • BlinCT
  • 22 октября 2017 г. 12:46

C++ - Тест 003. Условия и циклы

  • Результат 64 баллов
  • Очки рейтинга -1
  • Kiops
  • 22 октября 2017 г. 3:56

C++ - Тест 001. Первая программа и типы данных

  • Результат 86 баллов
  • Очки рейтинга 6
  • Kiops
  • 22 октября 2017 г. 2:41

Qt - Тест 001. Сигналы и слоты

  • Результат 100 баллов
  • Очки рейтинга 10
Последние комментарии
  • EVILEG
  • 21 октября 2017 г. 3:06

Qt/C++ - Урок 031. QCustomPlot - строим график по времени

Добавил архив с проектом

  • EVILEG
  • 20 октября 2017 г. 20:06

Qt/C++ - Урок 031. QCustomPlot - строим график по времени

После работы поищу, должен где-то быть на винте.

  • Миша
  • 20 октября 2017 г. 20:04

Qt/C++ - Урок 031. QCustomPlot - строим график по времени

не могли бы вы выложить архив с рабочей версией скрипта?

  • EVILEG
  • 20 октября 2017 г. 20:03

Qt/C++ - Урок 030. QCustomPlot - быстрый старт в работе с графиками

Использование дизайнера в Qt Creator и использование ui файлов является распространённой практикой в Qt фреймворке. Написать отдельную статью про то, что это такое? - может быть. Опи...

  • Миша
  • 20 октября 2017 г. 19:43

Qt/C++ - Урок 030. QCustomPlot - быстрый старт в работе с графиками

Но почему вы это не описали? Не могли бы вы описать.

Сейчас обсуждают на форуме
  • EVILEG
  • 22 октября 2017 г. 12:05

Закрепление якорей в момент создания объекта через JS

Добрый день! Якоря - это не те свойства, которые можно устанавливать сразу по инициализации, лучше их править после создания объекта, поскольку при одновременной установке они могут в...

  • EVILEG
  • 21 октября 2017 г. 23:33

Создание истории редактирования постов на сайте

Ясно. Тогда я лучше не буду тратить время на его проверку. Тем более, что я использую гугловский prettyprint для подсветки кода. Спасибо за информацию.

QFile::copy() возвращает false

Получилось! Спасибо огромное! path1 = "C:/Users/555/Pictures/00GAF13AP001-002.jpg"true

  • cordsac
  • 19 октября 2017 г. 15:49

How can I select the QGraphicView Item and change the properties

Ok I'll check it sir,If you can please do article(tutorial) about this,Its really useful.Thank you if you can give me some sample code when you free.thanks again

  • cordsac
  • 17 октября 2017 г. 19:28

How can I open SVG file through QT

Okay,Thank you sir :)