¿Qt Quick Controls está disponible en Ubuntu 13.10?


8

Estaba buscando desarrollar UI en QML, y realmente quiero que parezca nativo. Encontré el QtQuick.Controls ( http://qt-project.org/doc/qt-5.1/qtquickcontrols/qtquickcontrols-index.html ), pero cuando intento hacer una aplicación simple, me dice que QtQuick.Controls no es ' t instalado.

main.qml:

import QtQuick 2.1
import QtQuick.Controls 1.0

Rectangle {
    height: 200
    width: 200
}

terminal:

$ qmlscene main.qml
file:///tmp/main.qml:2 module "QtQuick.Controls" is not installed

Además, descargué la fuente de https://qt.gitorious.org/qt/qtquickcontrols/source/stable , ejecuté qmake && make, pero esto arrojó el siguiente resultado:

cd src/ && ( test -e Makefile || /usr/lib/i386-linux-gnu/qt5/bin/qmake /tmp/qtquickcontrols/src/src.pro -o Makefile ) && make -f Makefile 
make[1]: Går til katalog '/tmp/qtquickcontrols/src'
cd controls/ && ( test -e Makefile || /usr/lib/i386-linux-gnu/qt5/bin/qmake /tmp/qtquickcontrols/src/controls/controls.pro -o Makefile ) && make -f Makefile 
make[2]: Går til katalog '/tmp/qtquickcontrols/src/controls'
g++ -c -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_XKB -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QUICK_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++ -I. -I/usr/include/qt5 -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtQml -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtGui/5.1.1 -I/usr/include/qt5/QtGui/5.1.1/QtGui -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtCore/5.1.1 -I/usr/include/qt5/QtCore/5.1.1/QtCore -I.moc/release-shared -o .obj/release-shared/qquickaction.o qquickaction.cpp
qquickaction.cpp:49:39: fatal error: private/qguiapplication_p.h: No such file or directory
 #include <private/qguiapplication_p.h>
                                       ^

¿Hay algún PPA que pueda usar, o tengo que esperar a que salga Trusty, antes de poder usar controles nativos de Qt? Saludos

Respuestas:


6

Los controles rápidos de Qt están disponibles desde Qt 5.1 y la versión Qt 5 en los repositorios de Ubuntu parece ser Qt 5.0.2. En consecuencia, no puede usar Qt Quick Controls con la versión actual de Qt5 en los repositorios de Ubuntu.

Si quieres usarlos, tienes 3 opciones:

  • Uso de paquetes oficiales de Qt Project para Linux. Puedes descargarlos aquí .
  • Esperando una versión de Ubuntu cuya versión Qt5 sea al menos Qt 5.1. Trusty Tahr probablemente tendrá Qt 5.1 o Qt 5.2 en sus repositorios.
  • Si está desarrollando algo para Ubuntu, puede usar los componentes que están en el SDK de Ubuntu. Ubuntu.Components(es su nombre) no son los controles rápidos Qt reales, pero son muy similares y si sabes cómo Ubuntu.Componentsfuncionan, sabrás cómo funcionan los controles rápidos Qt. Para obtener más información, eche un vistazo a la página correspondiente en Ubuntu Developer .

Creo que elegiré tu primera opción. Sé que hay Ubuntu.Components, pero están muy orientados al tacto. Pero muchas gracias por una respuesta rápida y útil
LinuxStudent

Buena eleccion. Los paquetes de Qt Project son la mejor manera de obtener la última versión de Qt y Qt Creator.
air-dex

Bueno, habría sido más fácil si solo estuvieran en los repositorios de Ubuntu, pero tienes razón, casi todo es mejor, cuando obtienes del creador, no terminas con un distribuidor
externo

@ air-dex Estoy ejecutando Trusty en este momento, pero parece que no tengo acceso QtQuick.Controls. ¿Cuál podría ser el problema? He añadido ubuntu-sdk-team/ppay canonical-qt5-edgers/qt5-properPPA, pero no alegría :(
Jonás

@Jonah, ¿instalasteqtdeclarative5-controls-plugin
Andrewsomething
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.