小编Aqu*_*irl的帖子

在 QML 中旋转一条线而不移动它

import QtQuick 2.0

Item
{
    width: 660
    height: 660

    Rectangle
    {
        id : dial
        width: 360
        height: 360

        color: "gray"

        Rectangle
        {
            id: dot
            height: 5
            width: 5
            color: "red"
            x: dial.x + (dial.width/2);
            y: dial.y + (dial.height/2);
        }

        Image
        {
            id: line
            source: "/home/.../documents/test/straightLine.jpg"
            height: 50
            width: 50
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.verticalCenter: parent.verticalCenter
            transform: Rotation
            {
                origin.x: dial.x + (dial.width/2);
                origin.y: dial.y + (dial.height/2);
                angle: 40
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

dot原点的表示。线的中心点应位于该原点。

当我应用 时angle : 40,线条会远离其原点。

如何告诉它在旋转时在原点说?

qt qml

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

如何在QML中截取特定项目的屏幕截图?

我知道如何在QML中截取整个窗口的截图.

Video在QML窗口中有一个元素.该视频显示在一个Rectangle.

什么是采取截图的方式Rectangle,而不是整个窗口?

qt qml qt5 qtquick2

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

GPU性能计数器和驱动程序计数器是什么意思?

https://developer.nvidia.com/sites/default/files/akamai/tools/files/PerfKit_4_5_User_Guide.pdf

NVIDIA PerfKit SDK允许图形开发人员访问底层NVIDIA GPU
性能计数器和NVIDIA 驱动程序计数器

我想了解这些计数器的含义吗?它们是某种硬件还是软件?他们在做什么?

他们如何对我有帮助?请举例说明如何使用它们。

我必须使用Nvidia perfkit来确定某些处理机器人技术的软件的性能。

gpu nvidia performance-testing

0
推荐指数
2
解决办法
2251
查看次数

为什么我要在一个函数中锁定两个互斥锁 - 这也是延迟锁定?

https://en.cppreference.com/w/cpp/thread/lock_tag

void transfer(bank_account &from, bank_account &to, int amount)
{
    // lock both mutexes without deadlock
    std::lock(from.m, to.m);
    // make sure both already-locked mutexes are unlocked at the end of scope
    std::lock_guard<std::mutex> lock1(from.m, std::adopt_lock);
    std::lock_guard<std::mutex> lock2(to.m, std::adopt_lock);

// equivalent approach:
//    std::unique_lock<std::mutex> lock1(from.m, std::defer_lock);
//    std::unique_lock<std::mutex> lock2(to.m, std::defer_lock);
//    std::lock(lock1, lock2);

    from.balance -= amount;
    to.balance += amount;
}
Run Code Online (Sandbox Code Playgroud)

通过一次锁定两个互斥锁可以获得什么?
他们在这里得到了什么?

请解释他们的决定背后的原因.

c++ mutex std

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

const_cast:仅当原始变量为 const 时,修改以前的 const 值才未定义

/sf/answers/23246051/

仅当原始变量为 const 时,修改以前的 const 值才未定义

...

如果您使用它来取消对未使用 const 声明的内容的引用的 const,则它是安全的。

...

例如,这在基于 const 重载成员函数时很有用。它还可以用于向对象添加 const,例如调用成员函数重载。

我无法理解上述引用的含义。我请求你给我一些例子来实际说明这些引文的含义。

c++ c++11

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

QtQml和QtQuick有什么区别?

http://doc.qt.io/qt-5/qtqml-qmlmodule.html

QtQml和QtQuick似乎是不同的东西,这就是为什么有两个单独的import语句.

import QtQml 2.2
import QtQuick 2.3

QtQml和QtQuick之间有什么区别,在哪些现实案例中应该使用它们?

qt qml qt-quick qtquick2

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

如何避免互斥变量被同一个线程锁定两次?

queueLIFOQList

//  This function is run by the thread `Producer`.
void *threadProducerFunction (void *arg)
{
    Q_UNUSED (arg);

    while (1)
    {
        if (queueLIFO.length () < 10)
        {
            pthread_mutex_lock (&mutexVariable);
            queueLIFO.push_back (1);
            pthread_mutex_unlock (&mutexVariable);
        }
        else
        {
            pthread_mutex_lock (&mutexVariable);
            pthread_cond_wait (&conditionVariable, &mutexVariable);
        }
    }
    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

现在,考虑以下链接中的信息:https://computing.llnl.gov/tutorials/pthreads/#ConVarSignal

pthread_cond_wait() - 应该在锁定互斥锁时调用此例程,并在等待时自动释放互斥锁.

收到信号并唤醒线程后,互斥锁将自动锁定以供线程使用.

然后程序员负责在线程完成时解锁互斥锁.

当从另一个线程接收到信号时,pthread_cond_wait将锁定该线程的使用的互斥锁,这意味着在我的情况下,控件将进入if语句,其中互斥锁已被锁定pthread_cond_wait(来自else条件)并且我们将其锁定现在又来了.

我是否以错误的方式编写了代码逻辑?怎么样?

c++ qt multithreading pthreads

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

popen不会捕获命令的所有输出

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QProcess>
#include <QFile>
#include <QDebug>
#include <stdio.h>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    FILE* file1 = popen ("make", "r");

    char buff[5122];

    while(fgets(buff, sizeof(buff), file1)!=NULL)
    {
        qDebug() << "from here: " << buff;
    }


    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral ("qrc:/main.qml")));
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

使用make命令输出是:

QML debugging is enabled. Only use this in a safe environment.
from here: make: Nothing to be done forfirst'.`

使用ping命令输出是:

QML debugging is enabled. Only use …
Run Code Online (Sandbox Code Playgroud)

c linux qt popen

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

通过 QAudioOutput 播放 wav 文件时只有嗡嗡声

在 Windows 7 台式机和笔记本电脑上使用 Qt 5.5.1。

我只能听到嗡嗡声,没有别的。请指导。

链接到 wav 文件,我试过了 - https://www.dropbox.com/s/frfy43d8hznptgf/c.wav?dl=0

我也用 mp3 文件试过这个。我得到的只是嗡嗡声。

可重现的例子:

#include <QCoreApplication>
#include <QAudioOutput>
#include <QFile>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QAudioOutput* audioOutpu;

    QFile sourceFile;
    sourceFile.setFileName("c.wav");
    bool p = sourceFile.open(QIODevice::ReadOnly);
    if (p == false)
        qDebug() << "no file";
    else
        qDebug() << "yes file";


    QAudioDeviceInfo d1;
    QList<QAudioDeviceInfo> l1 = d1.availableDevices(QAudio::AudioOutput);

    qDebug() << "======================================================";
    qDebug() << l1.first().supportedCodecs();
    qDebug() << l1.first().supportedChannelCounts();
    qDebug() << l1.first().supportedSampleTypes();
    qDebug() << l1.first().supportedSampleRates();
    qDebug() << l1.first().supportedSampleSizes();

    QAudioFormat …
Run Code Online (Sandbox Code Playgroud)

c++ windows audio qt

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

如何防止双值被截断?


这是一个可重现的C++程序:

#include <RInside.h>
#include <Rcpp.h>

int main (int argc, char *argv[])
{
    RInside R (argc, argv);
    SEXP ans = R.parseEval ("m <- 40.702147");

    Rcpp::NumericVector v (ans);           

    for (int i=0; i< v.size(); i++) 
    {           
        std::cout << "In C++ element " << i << " is " << v[i] << std::endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Makefile在这里:

## -*- mode: make; tab-width: 8; -*-
##
## Simple Makefile
##
## TODO: 
##  proper configure for non-Debian file locations,   [ Done ]
##  allow …
Run Code Online (Sandbox Code Playgroud)

c++

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

如何在 Angular 的模板中编写标签及其属性组合在一起?

    <table border-bottom = 2>
        <th, td >
        {
            padding: 15px;
            text-align: left;
        }

        <tr:hover {background-color:#f5f5f5;}></tr>
    </table>
Run Code Online (Sandbox Code Playgroud)

以上述方式编写会引发错误。Angular 的语法是什么?

请展示一个将th,td类型的属性与ngClass/ngStyle或其他任何适用的组合的示例。

html angular

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

当变量在QML中更改其值时,如何在Qt中执行函数?

error: no matching function for call to 'SimulationMode::connect(QString&, const char*, SimulationMode* const, const char*)'
QObject::connect (m_standingAgvID, SIGNAL (f(int)), this, SLOT (d(int)));
Run Code Online (Sandbox Code Playgroud)

这里m_standingAgvIDQString变量的对象,该变量也用在中Q_PROPERTY

f(int)和d(int)已在cpp代码的相应信号和时隙区域中定义和声明。

考虑:

QString不发出信号。也许您应该告诉我们您想要达到的目标。– cmannett85

QString本身不是QObject,它无法连接信号和插槽。– Tay2510

我有一个简单的变量,让我们说int类型是类成员,并且我已经将其设为Q_PROPERTY

此变量将在中设置QML。当其值更改时,我想在中调用信号Qt

就这样。

c++ qt signals signals-slots

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

如何在C++中保持double变量的精度?

它不是关于印刷.它是关于存储价值.

int x = 1234;
double y = 0.3456;

double z = x + y;

目前z包含1234.35.我想要z包含1234.3456

可以做些什么来实现这一目标?

c++ floating-point

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