Why is the Qt Creator Ubuntu publishing screen blank?

I am trying to publish an application in the Ubuntu store, however something is wrong with Qt Creator (or something else).

I used to see this:

Qt Creator - Ubuntu Publish Screen for Apps

But now I see only the following:

Qt Creator - An Empty Ubuntu Publish Screen for Apps

As you can see (or read if you use Reader without images), the second image here does not display such things as the General tab, which allows me to enter data such as Maintainer, Name, Description, Security Policy Groups - it does not have a tab Manifest on the AppArmor or Exclude tab. The Create Package button has disappeared.

All that I have left is a blank screen with only 1 button activated, which reads: "Check for an existing click package," but when I click on it (since I canโ€™t do anything, it seems ...), it requires me to the directory of my projects, which lists all my applications. I select the application in question and I cannot press the open button in the dialog because there is no * .click file anywhere.

Did I do something wrong? Do you know what is going on here?

In addition, I read that for publishing in the store we need to create "Click apps". I searched the universe for this phrase and came up empty-handed. How to create a "click app"? I thought the application I was creating was a click (I went to Qt Creator> Qt Quick Application> ...).

References:

Application publishing tutorial: http://developer.ubuntu.com/publish/apps/packaging-click-apps/

+7
c ++ qt ubuntu qt-creator qml
source share
2 answers

The reason is that you are using QtCreator from the Qt project itself instead of using the Ubuntu SDK, which provides its own version of QtCreator.

To do everything for this, you will need to use the Ubuntu SDK. First you need to install it :

$ sudo add-apt-repository ppa:ubuntu-sdk-team/ppa $ sudo apt-get update && sudo apt-get install ubuntu-sdk 

This will also install the qtcreator-plugin-ubuntu package, its own toolchain, etc. Then you can run it, for example. from the command line as follows:

 $ ubuntu-sdk 

You can also search the Unity Dash Applications object for the "Ubuntu SDK", as shown below:

enter image description here

You can also start typing a name in the search bar, as shown below:

enter image description here

Please make sure you proceed to the following:

 New Project > Ubuntu > Simple UI/Html/QML/etc 

enter image description here

and not, for example, what you tried on your question:

 New Project > Qt Quick Application 

You can also configure click targets and sets of devices , some of which (assembly and launch) are presented below:

enter image description here

+6
source share

First of all, you need to read this , fortunately, I recently developed ubuntu applications for HTML5, so I was in your place earlier, you can integrate your C ++ code using the QML option (since ubuntu developers have only 2 options: HTML5 or QML).

Here is an example project found on xda to create a simple calculator application (note how to include your cpp file):

File Name: apcalc-qml.pro

 QT += qml quick # If your application uses the Qt Mobility libraries, uncomment the following # lines and add the respective components to the MOBILITY variable. # CONFIG += mobility # MOBILITY += #C++ source files SOURCES += cpp/main.cpp\ cpp/applicationdata.cpp\ #C++ header files HEADERS += cpp/applicationdata.h #Path to the libraries... INCLUDEPATH += $$PWD\ $$PWD/../../../../usr/lib DEPENDPATH += $$PWD/../../../../usr/lib #Path to "other files" in this case the QML-Files OTHER_FILES += \ qml/main.qml\ qml/basicCalc/*.qml 

File name: main.cpp

 #include <QtGui/QGuiApplication> #include <QGuiApplication> #include <QQuickView> #include <QtQml/qqmlcontext.h> #include <stdio.h> #include "applicationdata.h" int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQuickView view; ApplicationData data; //Resize Mode so the content of the QML file will scale to the window size view.setResizeMode(QQuickView::SizeRootObjectToView); //With this we can add the c++ Object to the QML file view.rootContext()->setContextProperty("applicationData", &data); //Resolve the relativ path to the absolute path (at runtime) const QString qmlFilePath= QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), "qml/main.qml"); view.setSource(QUrl::fromLocalFile(qmlFilePath)); //For debugging we print out the location of the qml file QByteArray ba = qmlFilePath.toLocal8Bit(); const char *str = ba.data(); printf("Qml File:%s\n",str); //Not sure if this is nessesary, but on mobile devices the app should start in fullscreen mode #if defined(Q_WS_SIMULATOR) || defined(Q_OS_QNX) view.showFullScreen(); #else view.show(); #endif return app.exec(); } 

File name: main.qml

 import QtQuick 2.0 import Ubuntu.Components 0.1 import "basicCalc" import QtQuick.Window 2.0 MainView { //objectName for functional testing purposes (autopilot-qt5) objectName: "mainView" applicationName: "apcalc-qml" automaticOrientation:true; width: units.gu(60); height: units.gu(100); id:root Tabs { objectName: "Tabs" ItemStyle.class: "new-tabs" anchors.fill: parent id:mainWindow; Tab { objectName: "Calculator" title: "Calculator" page:BasicCalc{ width: root.width; height: root.height-root.header.height; anchors.top: parent.top; anchors.topMargin: root.header.height; onToCalculateChanged: { //access to the c++ Object result=applicationData.calculate(toCalculate); } } } } } 

File Name: applicationdata.h

 #ifndef APPLICATIONDATA_H #define APPLICATIONDATA_H #include <QObject> class ApplicationData : public QObject { Q_OBJECT public: explicit ApplicationData(QObject *parent = 0); Q_INVOKABLE QString calculate(QString) const; signals: public slots: }; #endif // APPLICATIONDATA_H 

File Name: applicationdata.cpp

 #include "applicationdata.h" ApplicationData::ApplicationData(QObject *parent) : QObject(parent) { } QString ApplicationData::calculate(QString command) const { // Some Logic comes here return command; } 

You can check out the full tutorial here , although this application is designed to work with ubuntu touch, but I believe that all QML projects follow the same procedure.

Publish app:

First of all, click โ€œApplicationโ€ , this means that the package, one file will click> installs your application AKA (Personal Pack Archives (PPA)) to publish your application, you need to follow some procedure in detail here , while the xda tutorial explains everything clearly.

+1
source share

All Articles