小编Abi*_*bin的帖子

错误:无法找到或加载Qt平台插件"windows" - PyQt + Pyinstaller

我正在尝试使用Pyinstaller捆绑PyQt项目.我尝试使用命令创建包pyinstaller --onedir Hello.py.

这会创建dist文件夹并具有Hello.exe.在运行时它会收到错误:此应用程序无法启动,因为它无法在""中找到或加载Qt平台插件"windows".重新安装应用程序可能会解决此问题.

我在PC上解决了这个问题

  1. 设置环境变量QT_QPA_PLATFORM_PLUGIN_PATH

或者

  1. dist\Hello\PyQt5\Qt\plugins\platform文件夹复制到Hello.exe所在的位置.

但是当我使用命令--onefile捆绑到单个文件并且在未设置QT_QPA_PLATFORM_PLUGIN_PATH的任何其他计算机上运行时,会出现此问题.

有人可以帮助找出问题所在.

python pyinstaller pyqt5

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

Qt - 如果加载程序源动态更改,如何连接来自加载程序项的信号

我有一个应用程序需要在多个可用屏幕之间切换屏幕。我正在检查 qml 中的加载器是否可以实现这一点。

我面临的问题是连接已加载项目的信号。

我在 qt 文档中使用了一个应用程序示例,发现应用程序 qml 中的 CreateConnection 不能有 if 条件。

我还尝试使其在函数中发出信号槽连接并在加载程序的源更改时调用,但这也不起作用。

应用程序.qml

import QtQuick 2.0

Item {
    width: 100; height: 100

    Loader {
       id: myLoader
       source: "MyItem.qml"
    }

    Connections {
        target: myLoader.item
        // here i tried using if (myLoader.item == "qrc:MyItemOne.qml") , but can't use if
        onChangeToSecond: {
               myLoader.source = "MyItemTwo.qml"
        }

        onChangeToFirst: {
               myLoader.source = "MyItemOne.qml"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyItemOne.qml

import QtQuick 2.0

Rectangle {
   id: myItem
   signal changeToSecond()

   width: 100; height: 100

   MouseArea {
       anchors.fill: …
Run Code Online (Sandbox Code Playgroud)

qt qml

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

没有名称,构造函数,析构函数的类

我读过关于没有名字的课程......

了解

class
{ 
  int i;
};
Run Code Online (Sandbox Code Playgroud)

是不是有价值的

class
{ 
  int i;
}A;
Run Code Online (Sandbox Code Playgroud)

已验证.但是如何拥有:1)构造函数和:2)析构函数和:3)如何作为参数传递???

c++

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

数组名如何包含其地址以及其中的第一个元素?

输出:

a=1606416992, &a=1606416992,
*a=1, &(*a)=1606416992
Run Code Online (Sandbox Code Playgroud)

程序:

#include "stdio.h"
main()
{
    int a[4]={1,2,3,4};
    printf("a=%u, &a=%u, *a=%d, &(*a)=%u\n",a,&a,*a,&(*a));
}
Run Code Online (Sandbox Code Playgroud)

我知道数组名称是指向数组第一个元素的指针.但我怀疑是指针应该存储在某个地方,它应该有一个地址位置.如果是这样,如何存储位置"1606416992"元素"1"并且相同的"1606416992"是指向数组的指针的地址位置?

请帮忙澄清一下.

c pointers

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

qt中的信号槽给出错误

我写了一个简单的信号 - 插槽.其中i成员对象信号连接到类的槽.我收到错误

我已经给出了下面的代码...如果我在构造函数中保持连接,那么我也会得到错误.

#ifndef COUNTER_H
#define COUNTER_H
#include <QObject>
#include <QTextEdit>

class Counter : public QObject
{
    Q_OBJECT

public:
    Counter()
    {
        m_value = 0;
    }

    int value() const
    {
        return m_value;
    }

public slots:
    void setValue(int value);
    void callSetValue();

signals:
    void valueChanged(int newValue);

private:
    int m_value;
    QTextEdit m_text;
};

#endif // COUNTER_H
Run Code Online (Sandbox Code Playgroud)

//counter.cpp

#include "counter.h"

void Counter::setValue(int value)
{
    QObject::connect (&m_text, SIGNAL(textChanged()), this, SLOT(callSetValue()));

    qDebug("setValue invoked");
    if (value != m_value)
    {
        m_value = value;
        m_text.setText("hai");
        emit valueChanged(value);
        qDebug("emited signal"); …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

如何从git克隆qt源代码

我需要qt5.5源代码,我看到了这个命令:

git clone git://code.qt.io/qt/qt5.git
Run Code Online (Sandbox Code Playgroud)

这是否提供qt 5.5版本或qt 5.6 alpha版本?

有没有办法指定版本?

我看到一个命令:

git clone https://github.com/qtproject/qt5.git --branch v5.3.1**
Run Code Online (Sandbox Code Playgroud)

我可以使用类似的命令来获取qt 5.5版本吗?

git qt qt5.5 qt5.6

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

标签 统计

qt ×3

c++ ×2

c ×1

git ×1

pointers ×1

pyinstaller ×1

pyqt5 ×1

python ×1

qml ×1

qt5.5 ×1

qt5.6 ×1