Russian Qt Forum
Ноябрь 22, 2024, 07:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 6 7 [8] 9 10 11   Вниз
  Печать  
Автор Тема: Помощь для новичков  (Прочитано 127198 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #105 : Март 26, 2016, 01:05 »

А вообще есть такая штука как Windows Deployment Tool
ссылка
Записан
Геннадий Носов
Гость
« Ответ #106 : Март 30, 2016, 20:44 »

Спасибо за советы)
на всякий случай напишу:
Я нашел подробное руководство (http://blog.harrix.org/?p=1015), как и что делать, что откуда и куда кидать, всё заработало...
может пригодиться ещё кому...

Следующий этап - хочу ту же прогу запустить на Андроиде. Тоже нашел подробное руководство (http://blog.harrix.org/?p=2651), сделал всё по пунктам, скачал и установил всё что написано и как написано,  но почему-то не работает... Знакомые говорят, что они делали по той же статье и всё заработало. В чём может быть дело?
У меня постоянно выдаёт [install target] Error 126
(Да, режим разработчика на телефоне я включить не забыл и JAVA_HOME в переменных среды прописал )
Телефон HTC One, Система Windows 10 X64,
 использую комплект "Android for armeabi-v7a (GCC 4.9, Qt 5.6.0)"
« Последнее редактирование: Апрель 02, 2016, 10:01 от Геннадий Носов » Записан
Геннадий Носов
Гость
« Ответ #107 : Апрель 02, 2016, 10:04 »

Мне удалось запустить прогу на телефон, сделал всё тоже самое, но на другом компе.
Похоже проблема толи в виндус 10 толи в архитектуре x64
Но вопрос всё ещё актуален. Если у кого-то  на Win10 х64 с андроидом всё работает, напишите пожалуйста)

И да, подскажите пожалуйста какие-нибудь источники на тему, как делать в qt программы, которые нормально отображаются на телефоне)
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #108 : Апрель 02, 2016, 21:25 »

какие-нибудь источники

Документация и примеры, поставляемые с qt, имхо, самый лучший источник
Записан
ahlamon
Гость
« Ответ #109 : Апрель 17, 2017, 14:18 »

День добрый. Пытаюсь использовать в проекте библиотеку картографии marble. Саму библиотеку собрал, marble-qt и примеры запускаются. Создаю проект, подключаю библиотеки libmarblewidget-qt5.dll и libastro.dll(после make install лежат в C:\Program Files (x86)\marble), указываю пути к заголовочникам из проекта marble в pro файле. В итоге как только пытаюсь запустить простейшую программу уже после создания объекта класса MarbleWidget "программа неожиданно завершается". В режиме отладки тоже не запускается During startup program exited with code 0xc0000135.
За ранее спасибо за любую помощь

ЗЫ В режиме отдалки пишет QWidget: Must construct a QApplication before a QWidget
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
В режиме релиза просто неожиданное завершение. Код простой из примера

#include <QApplication>

#include <marble/MarbleWidget.h>

using namespace Marble;

int main(int argc, char** argv)
{
    QApplication app(argc,argv);

    // Create a Marble QWidget without a parent
    MarbleWidget *mapWidget = new MarbleWidget();

    // Load the OpenStreetMap map
    mapWidget->setMapThemeId(QStringLiteral("earth/openstreetmap/openstreetmap.dgml"));

    mapWidget->show();

    return app.exec();
}
« Последнее редактирование: Апрель 17, 2017, 14:42 от ahlamon » Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #110 : Апрель 17, 2017, 16:35 »

Я бы для начала попробовал бы положить библиотеку в директорию, путь к которой не содержит пробелы
Записан
ahlamon
Гость
« Ответ #111 : Апрель 17, 2017, 17:13 »

Я бы для начала попробовал бы положить библиотеку в директорию, путь к которой не содержит пробелы
Попробовал. Ничего не поменялось. Зато заметил другую закономерность. Если dll файлы закинуть в папку куда происходит билд программы то
QWidget: Must construct a QApplication before a QWidget
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
Если этих файлов нет в той папке то просто неожиданное завершение
Если запустить отладчик то программа падает на создании объекта marbleWidget
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #112 : Апрель 17, 2017, 17:23 »

Кажется, подобная ошибка может возникать и в случае, если к релиз сборке подключать дебаг либу и наоборот.
Записан
ahlamon
Гость
« Ответ #113 : Апрель 17, 2017, 17:41 »

Кажется, подобная ошибка может возникать и в случае, если к релиз сборке подключать дебаг либу и наоборот.

Спасибо. Вы оказались правы. Я про этот случай читал, но не додумался закинуть библиотеки dll в папку с билдом релиза.(библиотеку собрал релиз) В билд дебага кидал. Еще раз спасибо.
Записан
Анатолий
Гость
« Ответ #114 : Май 16, 2017, 00:42 »

Может найдутся люди который подскажут как решить проблему.
Нужно запустить код ниже
Ошибка: import does not name a type
Версия QT Crearot 3.6
Может я что-то не верно запускаю, если кто может, напишите полное описание запуска самого проекта, файлы проекта можно посмотреть https://github.com/RPG-18/yang

Код Японского кросворда:

Код:
import QtQuick 2.5
import Qt.labs.controls 1.0

Item {
    clip:true
    property int margin: 20
    property int fontSize:  12
    property int ceilSize:  20;
    property int incCeilSize: ceilSize + 1
    property color borderColor: "#424242"

    property int rows:       0;
    property int rowSize:    0;

    property int column:     0;
    property int columnSize: 0;

    implicitHeight : crossGrid.height+margin*2
    implicitWidth : crossGrid.width+margin*2

    function loadFromNonogramsOrg(url) {
        console.log("Load:"+url);
        crossword.formNanogramsOrg(url);
    }

    function showOnlyNaturalNumber(val)
    {
        return val > 0 ? val: " ";
    }

    function drawCrossword(){
        var csize = crossword.size;
        if(csize.column() === 0 || csize.rows() === 0){
            return;
        }
        console.log(csize.column() + "x" + csize.rows());
        hRepeater.model = 0;
        rRepeater.model = 0;

        rowSize = crossword.rowSize();
        columnSize = crossword.columnSize();

        rows = csize.rows();
        column = csize.column();

        hRepeater.model = crossword.columnSize()*csize.column();
        rRepeater.model = crossword.rowSize()*csize.rows();
        bgImg.visible = true;
    }

    Image{
        id: bgImg
        asynchronous: true
        visible: false
        height: parent.height
        width: parent.width
        source:"qrc:/wall-paper.jpg"
    }

    Grid {
        id: crossGrid
        anchors.centerIn: parent
        columns: 2
        spacing: 2
        rowSpacing: 0
        columnSpacing: 0

        Rectangle{
            id:topLeftItm
            width: rowSize * ceilSize
            height:columnSize * ceilSize
            border.width: 1
            border.color: borderColor
            color: "transparent"
        }

        Grid {
            id: cGrid
            rows: columnSize
            columns: column

            Repeater {
                id: hRepeater
                model: 0
                Item {
                    width: ceilSize; height: ceilSize
                    property int rw : Math.floor(index/column)
                    property int cn : Math.floor(index%column)
                    property int prw: rw+1
                    property int pcm: cn+1

                    Rectangle{
                        height: (prw % 5 == 0) || (prw == columnSize) ? ceilSize : incCeilSize
                        width:  (pcm % 5 == 0)  ? ceilSize : incCeilSize
                        color: "transparent"
                        border.width: 1
                        border.color: borderColor

                        Text {
                            anchors.centerIn: parent
                            text:showOnlyNaturalNumber(
                                     crossword.columnValue(cn,rw));
                            font{
                                family: mandarinFont.name
                                pixelSize: fontSize
                            }
                        }

                    }
                }
            }
        }

        Grid {
            id: rGrid
            rows: rows
            columns: rowSize

            Repeater {
                id: rRepeater
                model: 0
                Item {
                    width: ceilSize; height: ceilSize
                    property int rw : Math.floor(index/rowSize)
                    property int cn : Math.floor(index%rowSize)
                    property int prw: rw+1
                    property int pcn: cn+1

                    Rectangle{
                        height: prw % 5 == 0 ? ceilSize : incCeilSize
                        width:  (pcn % 5 == 0) || (pcn == rowSize)
                                ? ceilSize : incCeilSize
                        color: "transparent"
                        border.width: 1
                        border.color: borderColor

                        Text {
                            anchors.centerIn: parent
                            text:showOnlyNaturalNumber(
                                     crossword.rowValue(rw,cn));
                            font{
                                family: mandarinFont.name
                                pixelSize: fontSize
                            }
                        }
                    }
                }
            }
        }

        Rectangle{
            id: playingField
            width: column * ceilSize
            height:rows   * ceilSize
            border.width: 1
            border.color: borderColor
            color: "transparent"

            Grid{
                rows: rows
                columns:column
                Repeater {
                    id: bRepeater
                    model: rows * column
                    Item {
                        id: ceilItm
                        width: ceilSize; height: ceilSize
                        property int rw : Math.floor(index/column)
                        property int cn : Math.floor(index%column)
                        state: "default"

                        Rectangle{
                            id: itmRec
                            height: (rw+1) % 5 == 0 ? ceilSize : incCeilSize
                            width: (cn+1) % 5 == 0  ? ceilSize : incCeilSize
                            color: "transparent"
                            border.width: 1
                            border.color: borderColor
                        }

                        Text{
                            id: itmTxt
                            visible:false
                            height: parent.height
                            width: parent.width
                            font.pixelSize: ceilSize
                            horizontalAlignment: Text.AlignHCenter
                            verticalAlignment:   Text.AlignVCenter
                            text:"+"
                            rotation:45
                        }

                        MouseArea {
                            anchors.fill: parent
                            onClicked: {
                                if(parent.state == "default"){
                                    parent.state = "SHADED";
                                }else if(parent.state == "SHADED"){
                                    parent.state = "CLEAR";
                                }else{
                                    parent.state = "default";
                                }

                            }
                        }

                        states: [
                            State{
                                name:"SHADED"
                                PropertyChanges {
                                    target: itmRec; color: "black";
                                }
                                PropertyChanges {
                                    target: itmTxt; visible: false;
                                }
                            },
                            State{
                                name:"CLEAR"
                                PropertyChanges {
                                    target: itmRec; color: "transparent";
                                }
                                PropertyChanges {
                                    target: itmTxt; visible: true;
                                }
                            }
                        ]
                    }
                }
            }
        }
    }

    Text{
        visible: bgImg.visible
        anchors{
            right: parent.right
            rightMargin: 10
            bottom: parent.bottom
        }
        text:qsTr("Source: ")+"www.nonograms.ru"

        font{
            family: hanZiFont.name
            pixelSize: 12
        }
    }

    Connections {
        target: crossword
        onLoaded: {
            drawCrossword();
        }
    }
}
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #115 : Май 16, 2017, 16:04 »

из раздела Requirements все выполнено? какая ОС, компилятор?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Snak2013
Гость
« Ответ #116 : Июнь 21, 2017, 15:45 »

Доброго времени суток, в приложении создаю поток следующим образом:
Код:
        this->_Thread = new QThread(this);
this->_Materials = new MaterialsUpdate(this->_AllFiles, this);
connect(_Materials, SIGNAL(ShowMeassage(QString)), this, SLOT(ShowProgressMessage(QString)));
connect(_Materials, SIGNAL(ShowProgressBar(bool)), this, SLOT(ShowProgressBar(bool)));
connect(_Materials, SIGNAL(UpdateProgressBar(double, double)), this, SLOT(UpdateProgressBar(double, double)));//Прогресбар
connect(_Materials, SIGNAL(MessageSignal(QString)), this, SLOT(ShowErrorMessage(QString)));
connect(_Materials, SIGNAL(OperationComplit()), this, SLOT(DeleteCompasClass()));
connect(this->_Thread, SIGNAL(started()), _Materials, SLOT(UpdateMaterials()));
        connect(this->_Thread, SIGNAL(finished()), this, SLOT(deleteLater()));
_Materials->moveToThread(this->_Thread);
this->_Thread->setPriority(QThread::Priority::LowestPriority);
    this->_Thread->start();

Поток создается и работает без ошибок прогресбар обновляется нормально но форма окна во время выполнения подвисает(Не перетаскивается мышкой по экрану) подскажите пожалуйста можно ли это как то исправить?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #117 : Июнь 21, 2017, 15:52 »

Код:
this->_Materials = new MaterialsUpdate(this->_AllFiles, this);

Нельзя передавать парент объекту, который будет жить в другом треде (иначе он не мувнется, у вас ворнингьдолжен быть в консоли об этом)
Записан
Snak2013
Гость
« Ответ #118 : Июнь 21, 2017, 15:55 »

Спасибо поправлю
Записан
ijs5
Гость
« Ответ #119 : Июль 13, 2017, 01:45 »

Здравствуйте, подскажите пожалуйста. Вчера установил Qt Creator, немного поработал в нем(первые шаги, HelloWord и т.п.). Сегодня при запуске  Qt не показывает ИСХОДНИКИ в дереве проекта ( соответственно нет файлов с расширениями .cpp, .h).  При этом файлы в самой папке на ПК присутствуют.
Записан
Страниц: 1 ... 6 7 [8] 9 10 11   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 23.