草庐IT

windows - Windows 上未显示 Qt5 快速应用程序窗口

该程序在Linux上运行良好。当在QtCreator中启动时,该程序在调试和发布时也运行良好。没有任何qml文件的任何部分丢失的提示。现在当我为这个可执行文件运行windeployqt时,很多文件被复制到目标目录。但是当我启动程序时,它只出现在任务管理器中。没有显示窗口。一开始我以为和里面用到的QtCharts模块有关系。但是创建一个新项目,编译后输出似乎很好,在运行windeployqt后甚至QtCreator告诉我“QtQuick.Window”未安装“QtQuick.Dialogs”未安装“QtQuick”未安装那么-这里到底发生了什么?是否可以在Windows上部署QtQuic

linux - QtQuick : Module is not installed

我正在努力使用自定义QML模块。奇怪的是,当我在Linux(Ubuntu)上构建和运行时它可以正常工作,但是当我在Windows上构建和运行时,出现以下运行时错误ModulejbQuick.Chartsisnotinstalled.我的根项目目录包含一个文件夹qml/jbQuick/Charts,其中包含qmldir和QML文件。在.pro文件中添加QML目录:QML_IMPORT_PATH=qml在main.cpp文件中添加qml目录:QQmlApplicationEngineengine;engine.addImportPath(QStringLiteral("jbQuick/Ch

c++ - QtQuickControls,不适用于 Windows

我有一个问题,我完成了一个应用程序的开发,iddeployforwindowsXpandlater,但我不能让他们继续工作,我基本上得到一个错误,当打开应用程序时出现一条消息,并说“类型ComboBox不可用”并说“.../ComboBox.qml插件无法为模块QtQuick.Controls.Private加载,无法加载库.../qtquickcontrolsprivateplugin.dll”,我还说,我把QtQuick和QtQuick.2目录在main.exe的同一目录中,也发送相同的消息,重复CheckBox组件。我放了一张情况图。注意*当我写“...”时,它是文件路径的缩写。

c++ - Qt5 在 QtQuick2 中使用 QWidget

Qt5和QtQuick2的组合存在一些问题。每当您想使用许多基于QWidget的类中的一些时,您首先会遇到以下问题:您应该使用QApplication而不是Qt5的QGuiApplication。那么这很容易改变,对吧?所以现在我正在使用QApplication但每当我尝试使用基于QWidget的类时我的程序要么崩溃要么导致一些无意义的错误消息。那么我应该如何将旧的QWidgets与Qt5一起使用?我知道它们不是Qt5的最佳解决方案,但它们非常有用...附言我正在Linux中为所有平台开发我的应用程序。我还使用自动生成的QtQuick2ApplicationViewer类来呈现基于Qt

c++ - Qt5 QtQuick 2.0(Qt Quick Application) 在一个窗口中切换 View (qml文件)

在传统的Qt(QWidget)中,我有一个QMainWindow和一些动态创建的带有内容的QWidgets,我将它们更改为在主窗口中看到的。当我有几个qml文件并且我希望能够在例如单击按钮时在它们之间切换时,有什么方法可以实现。 最佳答案 解决这个问题至少有3种选择:您可以使用为此目的准备好的组件StackView.重点是您将同时创建2个组件,并且您可以通过单击按钮来更改它们。例子:importQtQuick2.12importQtQuick.Controls2.5ApplicationWindow{id:windowvisible

c++ - QtQuick、动态图像和 C++

我是Qt的新手,根据我在qt-project.org上阅读的内容和其他地方;QtQuick似乎是一个有吸引力的选择,因为它能够在基于指针和触摸的设备上工作。我的问题是让它与c++一起工作。我决定在“HelloWorld”之后编写康威生命游戏的一个变体作为下一步。对于如何将“板”——一个[高度][宽度][每像素字节数]字符数组——集成到场景图中,我感到非常困惑。基本上,该过程是“LifeBoard”遍历其规则并更新char*/image。我有这个简单的QML::::QMLApplicationWindow{id:life_app_windowvisible:truetitle:qsTr(

c++ - 将现有的(行、列)C++ 模型与 QtQuick(网格、 TableView )一起使用

我有一些模型使用QAbstractItemModel规则来为表检索和提供数据。我的示例模型有多个列和行。不幸的是,QtQuick小部件只能处理一列。其他“列”通过角色添加到QtQuick小部件。因此View中的多个列与模型中的同一列匹配。其他模型列将被忽略,如thisquestionanditsanswer中所述我在想,为C++端使用的QML提供一个抽象应该不会太难(作为QAbstractProxyModel),当要求第N行时,它按列取模源模型的计数并从结果实际列中检索数据。这似乎适用于Grid,但不适用于TableView,因为它依赖于TableViewColumn和角色名称,而不是

与 Qt 4 (QtQuick 1.x) 和 Qt 5 (QtQuick 2.x) 兼容的 C++/QML 项目

当编写不使用QML且不依赖于新的Qt5功能的Qt应用程序时,我们可以同时使用Qt4和Qt5对其进行编译(除了少数源代码不兼容)。当我们想要使用Qt5功能但又想退回到等效但效率较低的Qt4解决方案时,我们可以简单地使用#if检查Qt版本,例如使用新的QStringLiteral但回到QString::fromUtf8使用Qt4编译时。我们怎样才能用QtQuick做同样的事情?请注意,可以使用QDeclarativeView与QtQuick1.x在Qt5中,但这不会使用Qt5中的新场景图。只有1.x在QDeclarativeView中得到支持并且只有2.x在QQuickView中得到支持,

c++ - QT Text.WordWrap 在 ColumnLayout 中不起作用

我正在使用QTQML开发应用程序。我在使用QML时遇到了一个奇怪的问题。我想使用QML分割和显示长文本。我正在使用QTText执行此任务的元素。我想将此文本放在QTColumnlayout中与其他UI元素。我无法将长文本显示为多行文本。请帮我解决这个问题。这是我的QML代码。importQtQuick2.7importQtQuick.Controls2.0importQtQuick.Layouts1.0ApplicationWindow{visible:truewidth:640height:480title:qsTr("HelloWorld")color:"#18d28a"Colum

c++ - 如何更改 QtQuick 2 窗口的标题?

我正在尝试更改项目的默认窗口,但它不起作用。我正在使用QtQuick2.0。尝试导入QtQuick.Window2.0并将Window{}作为根对象而不是Rectangle{}但它不允许窗口对象作为根。它给了我以下错误:QQuickViewonlysupportsloadingofrootobjectsthatderivefromQQuickItem.IfyourexampleisusingQML2,(suchasqmlscene)andthe.qmlfileyouloadedhas'importQtQuick1.0'or'importQt4.7',thiserrorwilloccur