crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Интеграция С++ в QML
Anarchist_42
  опции профиля:
сообщение 2.6.2014, 18:08
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 2.6.2014
Пользователь №: 4150

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем здравствуйте, возникли некоторые трудности в написание программы на qml.

Что мне надо: вывод на экран изображения (несколько вложенных колец) которое зависит от параметров (берутся из inputText), по кнопке, которая находится на другом rectangle, по другой кнопке рисунок должен удалятся.

Что имею: класс-наследник QQuickPaintedItem, могу рисовать все с параметрами-константами, прописанными в подпрограмме и подпрограмма вызывается из rectangle в котором надо рисовать.

Что не смог реализовать: рисование по кнопке, удаление, передача параметров из inputText в подпрограмму рисования.

Сможете с чем либо помочь? Я так понял что передачу можно осуществлять через QQmlContext, так ли это?

А так же, можно ли как-нибудь обойтись без С++ при открытие файла-справки из меню?
MenuItem{
                text: qsTr("Referense")
                onTriggered: "функция вызова справки"
                }


Буду очень благодарен за помощь!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Anarchist_42
  опции профиля:
сообщение 5.6.2014, 14:33
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 2.6.2014
Пользователь №: 4150

Спасибо сказали: 0 раз(а)




Репутация:   0  


class Circle : public QQuickPaintedItem
{
    Q_OBJECT
    Q_PROPERTY(int radius READ radius WRITE setRadius NOTIFY RadiusChanged)
    Q_PROPERTY(int wavelength READ wavelength WRITE setWavelength NOTIFY WavelengthChanged)
    Q_PROPERTY(int distance_to_the_screen READ distance_to_the_screen WRITE setDistance_to_the_screen NOTIFY Distance_to_the_screenChanged)
    Q_PROPERTY(int distance_to_the_screen2 READ distance_to_the_screen2 WRITE setDistance_to_the_screen2 NOTIFY Distance_to_the_screen2Changed)
private:
    int _wavelength;
    int _radius;
    int _distance_to_the_screen;
    int _distance_to_the_screen2;
public:
    explicit Circle(QQuickItem *parent = 0);
    void paint(QPainter *painter);
    //Get-функции
    int radius();
    int wavelength();
    int distance_to_the_screen();
    int distance_to_the_screen2();
    //Set-функции
    void setWavelength(int &a);
    void setRadius(int &a);
    void setDistance_to_the_screen(int &a);
    void setDistance_to_the_screen2(int &a);
signals:
    //Сигналы для Set-функций
    void RadiusChanged();
    void WavelengthChanged();
    void Distance_to_the_screenChanged();
    void Distance_to_the_screen2Changed();
public slots:
};


Да, это rectangle ( в самом низу кода написан rectangle2). А кнопка вызывается из другого rectangle (rectangle1->for_start) ну и по нажатию на кнопку ресет рисунок должен исчезнуть (rectangle1->for_reset).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 1:01