小编Lan*_*784的帖子

Qt Creator 无法在 Windows 10 上打开“无法初始化 Qt 平台插件”

h我从昨天开始就陷入困境。我已经从 Surface pro 4 中删除了 Qt 并重新安装了它,因为它似乎无法找到 QtQuick 控件和其他与 qml 相关的模块。执行安装程序后,我尝试打开 qt creator 并收到此消息

此应用程序无法启动,因为无法初始化 Qt 平台插件。重新安装应用程序可能会解决此问题。可用的平台插件有:direct2d、minimal、offscreen、windows

你能帮助我吗?我明天必须让这该死的平板电脑工作,我真的不知道如何解决这个问题......

编辑
我通过从头开始重新安装 Qt 然后使用标准 python 发行版而不是 Anaconda 解决了这个问题。现在每个使用 QtQuick 的应用程序都按预期工作。

windows qt

13
推荐指数
2
解决办法
3万
查看次数

如何使用 Signal 将 python 字典发送到 QML 接口?

我想发送字典,其中包含动态创建 qml 对象所需的数据,从 PySide2 类发送到 QML 接口,并且由于我需要响应某些事件来执行此操作,因此我需要使用信号和槽。

由于我刚刚开始使用 QML 和 python,我尝试创建一个简单的项目只是为了玩玩(正如您从代码中看到的)

质量管理语言:

import QtQuick 2.10
import QtQuick.Controls 2.2
import QtQuick.Window 2.2
import QtQuick.Controls.Material 2.3
import QtQuick.Layouts 1.0

ApplicationWindow {
    id: mainWindow
    width:640
    height: 480
    title: qsTr("Simple ui")
    visible: true
    locale:locale
    Rectangle {
        id: appWindow
        objectName: "splasso"
        anchors.fill: parent
        color: "yellow"
        Material.accent: Material.DeepPurple
        Material.primary: Material.Cyan
        Component.onCompleted: function(){
            TestVar.theSignal.connect(catchAnswer);
            testList.append(stuff1);
            testList.append(stuff2);
            testList.append(stuff3);
            testCombo.currentIndex = 0;
            //Just a pointless test print
            console.log(JSON.stringify(stuff1));
        }
        function catchAnswer(answer){
            console.log(JSON.stringify(answer));
        }

        ComboBox{
            id: testCombo
            anchors.centerIn: parent
            width: …
Run Code Online (Sandbox Code Playgroud)

python qml qt-signals qt-slot pyside2

5
推荐指数
1
解决办法
2099
查看次数

使用 PySide2 将 python 信号连接到 QML ui 插槽

我刚刚开始为即将到来的项目使用 PySide2 和 QML,我立即偶然发现了一个问题:如何将 python 类(继承自 QObject)发出的信号连接到 .qml 文件中的插槽?例如:我有一个 QThread(python 类),每 50 毫秒生成几个 xy 坐标。我想将生成的对添加到 QML 文件中定义的 LineSeries,以生成类似示波器的绘图。

这个问题可能真的很基本而且很愚蠢,但我真的需要一些帮助。

此致

兰多

编辑4:

我找到了解决方案,但我不太喜欢它。你能建议我(如果存在的话)一种更优雅的方法吗?

Python 代码:

class Manager(QObject):

    dataReady = Signal(float,float)

    def __init__(self):
        QObject.__init__(self)
        self._currX = 0
        self._currY = 0
        self._delay = 0.5
        self._multiplier = 1.0
        self._power = 1.0
        self._xIncrement = 1.0
        self._starter = False
        self._threader = None

    @Property(bool)
    def starter(self):
        return self._starter

    @starter.setter
    def setStarter(self, val):
        print("New val: {0}, oldVal: {1}".format(val,self._starter))
        if self._starter == val:
            return

        self._starter = val
        if …
Run Code Online (Sandbox Code Playgroud)

python qml qt-signals pyside2

3
推荐指数
1
解决办法
5467
查看次数

使用 CMake 添加 C++ 编译器标志

我对整个 CMake 逻辑和语法很陌生。对于我正在处理的代码,我需要使用该cap_set_proc函数来处理进程功能标志 ( man link )。所以我决定从你在这里看到的一段非常愚蠢的代码开始:

#include<iostream>
#include<string>
#include<sys/capability.h>

using namespace std;

int main(){

    cap_t test = cap_get_proc();
    string whatsTest(cap_to_text(test,nullptr));
    cout<<whatsTest<<endl;

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

(目前,我不在乎我写的代码是否有意义......)
现在,如果我只是使用c++(如下所示)一切都可以正常编译并且可执行文件运行没有任何问题:

c++ test_main.cpp -o test_cap -lcap
Run Code Online (Sandbox Code Playgroud)

问题是我正在工作的项目非常庞大,并且非常依赖 CMake。所以我想编译相同的代码,但使用 CMake... 我如何编写一个 CMakeLists.txt 文件,让我获得与前几行中显示的编译器指令相同的结果?

c++ cmake

1
推荐指数
1
解决办法
107
查看次数

标签 统计

pyside2 ×2

python ×2

qml ×2

qt-signals ×2

c++ ×1

cmake ×1

qt ×1

qt-slot ×1

windows ×1