[Solved] Сборка проекта



  • Обьясните мне пожалуйста, может я чего не знаю. Написал приложение, запустил работает, собрал, запустил работает но пустое окно.
    Зарание благодарен.



  • Одно уточнение Qml проект.



  • наверное файл qml найти не может? проверьте путь в программе.



  • Да вы правы. Действительно путь был неверен.



  • Но увы это было в случае пустого qml проекта.
    В другом проекте с размером qml файла в 400-от строк этого не происходит.



  • В таком случае предоставьте больше информации, например, покажите как вы передаете qml файл в DeclarativeView



  • Значит первое: Стандартный Qml проект.
    Второе исходники:

    1. main.qml
      @import QtQuick 1.0
      import QtWebKit 1.0
      import WheelArea 1.0

    Rectangle {
    id: main
    width: 900
    height: 600

    Flickable {
        id: flickableWebView
        interactive: true
        contentHeight: web_view.height
        contentWidth: web_view.width
        anchors.bottomMargin: rectangleButtonBar.height
        anchors.bottom: parent.bottom
        anchors.right: parent.right
        anchors.left: parent.left
        anchors.top: parent.top
    
        WebView {
            id: web_view
            preferredHeight: flickableWebView.height
            preferredWidth: flickableWebView.width
            url: "http://google.com"
        }
    }
    
    
    WheelArea {
        id: wheel
        anchors.fill: parent
        onVerticalWheel: {
            if(delta < 0){
    

    flickableWebView.contentY = flickableWebView.contentY + 50
    }
    flickableWebView.contentY = flickableWebView.contentY - 50

    }
    

    }
    @

    1. main.cpp
      @#include <QtGui/QApplication>
      #include "qmlapplicationviewer.h"
      #include "wheelArea.h"

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

    qmlRegisterType<WheelArea>("WheelArea", 1, 0, "WheelArea");
    
    QmlApplicationViewer viewer;
    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
    viewer.setMainQmlFile&#40;QLatin1String("qml/untitled1_1/main.qml"&#41;);
    viewer.setWindowTitle("WebBrowser_1.0");
    viewer.showExpanded();
    
    return app.exec();
    

    }
    @
    2.wheelarea.h
    @#ifndef WHEELAREA_H
    #define WHEELAREA_H

    #include <QDeclarativeItem>
    #include <QGraphicsSceneWheelEvent>

    class WheelArea : public QDeclarativeItem
    {
    Q_OBJECT

    protected:
    void wheelEvent(QGraphicsSceneWheelEvent *event) {
    switch(event->orientation())
    {
    case Qt::Horizontal:
    emit horizontalWheel(event->delta());
    break;
    case Qt::Vertical:
    emit verticalWheel(event->delta());
    break;
    default:
    event->ignore();
    break;
    }
    }

    signals:
    void verticalWheel(int delta);
    void horizontalWheel(int delta);
    };

    #endif // WHEELAREA_H
    @



  • Оказываеться при подключении QtWebKit 1.0 приложение не загружает qml файл



  • Похоже не может найти плагин для вебкита, на какой ОС вы пытаетесь его запустить?



  • Windows Developer Preview



  • Это восьмая что ли? Вообще-то она еще не поддерживается, но проблема я думаю не в этом, а в том, что надо попробовать добавить путь до вебит декларатив плагина в переменную окружения PATH.



  • А можно ли по подробнее.



  • найдите у себя на компьютере файл qmlwebkitplugin.dll или что-то в этом роде,
    вероятнее всего он будет лежать в <qt installation path>/imports/QtWebKit/
    и добавьте этот путь в переменную PATH



  • Оказывается все намного проще.
    Для того, чтоб qml приложение запускалось и функционировало необходим комплект библиотек:
    @
    libgcc_s_dw2-1.dll
    │ mingwm10.dll
    │ QtCore4.dll
    │ QtDeclarative4.dll
    │ QtGui4.dll
    │ QtNetwork4.dll
    │ QtScript4.dll
    │ QtSql4.dll
    │ QtSvg4.dll
    │ QtXml4.dll
    │ QtXmlPatterns4.dll
    │ QtWebKit4.dll
    │ libssl32.dll
    │ libeay32.dll
    │ ssleay32.dll
    │ phonon4.dll
    @
    У меня же были не все библиотеки.



  • Ну на самом деле все эти библиотеки я больше чем уверен вам не нужны:

    обязательны для вашего приложения:

    @libgcc_s_dw2-1.dll
    mingwm10.dll
    QtCore4.dll
    QtDeclarative4.dll
    QtGui4.dll
    QtXml4.dll
    QtXmlPatterns4.dll@

    остальные смотрите все зависит от того чем вы пользуетесь, если сетью то нужен еще Network, если базами - значит Sql, ну и т. д.



  • Уже сделал.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.