小编Kur*_*tyn的帖子

定点算术

有没有人知道在Python中进行定点算术的库?或者,有没有人有示例代码?

python math

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

如何在Qt中创建动态信号和插槽?

Qt中的信号/槽机制是一种静态机制.这些类必须由moc编译器预处理.
现在我想在运行时动态创建信号和插槽.
我已经有了一个可行的解决方案,但我觉得我觉得它像黑客,虽然我使用的是公开的方法.
这是动态插槽的代码:

bool DynamicQObject::connectDynamicSlot(const QString &objectName, QObject *pSourceObject, QMetaMethod signalMethod)
{
    QByteArray slotName = signalMethod.name().prepend("on").append("(");
    QStringList parameters;
    for (int i = 0, j = signalMethod.parameterCount(); i < j; ++i)
    {
        parameters << QMetaType::typeName(signalMethod.parameterType(i));
    }
    slotName.append(parameters.join(",")).append(")");
    QByteArray theSignal = QMetaObject::normalizedSignature(signalMethod.methodSignature().constData());
    QByteArray theSlot = QMetaObject::normalizedSignature(slotName);
    if (!QMetaObject::checkConnectArgs(theSignal, theSlot))
    {
        return false;
    }

    int signalId = pSourceObject->metaObject()->indexOfSignal(theSignal);
    if (signalId < 0)
    {
        return false;
    }

    int slotId = slotIndices.value(theSlot, -1);
    if (slotId < 0)
    {
        slotId = slotList.size();
        slotIndices[theSlot] = slotId; …
Run Code Online (Sandbox Code Playgroud)

c++ qt moc qt-signals

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

添加exec-maven-plugin的附加路径

我想为exec-maven-plugin添加一个额外的类路径.
除了%classpath,我想添加一个额外的路径到包含资源的目录(/ Users/kornp/resources).目前,我的pom看起来像这样:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.1.1</version>
  <configuration>
    <executable>java</executable>
    <classpathScope>runtime</classpathScope>
    <arguments>
      <argument>%classpath:/Users/kornp/resources</argument>
      <argument>org.drrabbit.maventest.App</argument>
    </arguments>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我该如何配置?

java maven-2 maven-plugin

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

在QDBus上发送浮动

我们目前从Qt 4.5.x迁移到4.7.3,从那时起我们在尝试通过DBus发送浮动时遇到错误('float'未注册为DBus类型).

例如:

QVariantList getTemperatures()  
{
    QVariantList retVal;
    retVal << getSensorValue(1) << getSensorValue(2);
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

getSensorValue是一个返回float值的方法.
由于4.6之前的版本中的QVariant只能包含一个double值,因此返回值会隐式转换为a double,并且double可以沿着DBus发送.但是,从版本4,6开始,QVariant可以包含一个float; 因此,DBus模块抱怨floats不是已知的数据类型 - 这是正确的.

我尝试注册float数据类型,并实现流操作符:

qDBusRegisterMetaType<float>();

QDBusArgument &operator<<(QDBusArgument &argument, const float &myFloat)
{
    return argument << static_cast<double>(myFloat);
}

const QDBusArgument &operator>>(const QDBusArgument &argument, float &myFloat)
{
    double d;
    argument >> d;
    myFloat = static_cast<float>(d);
    return argument
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试double流入QDBusArgument(operator <<)时,我得到一个错误,float数据类型试图覆盖double …

qt dbus embedded-linux

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

如何确定Qt中QTextEdit中文本的编码?

QTextEdit使用以下代码从对象获取内容:

QString text=my_QTextEdit.toPlainText();
Run Code Online (Sandbox Code Playgroud)

那是什么编码QTextEdit的用途,一个是什么编码在使用QString我从后面toPlainText()通话?

谢谢。

encoding qt

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

如何推断变量参数后的模板参数?

我有以下模板功能:

template <typename...Args, typename Func>
void call(const char *name, Args...args, Func f)
{
        f(3);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它时,就像

    call("test", 1, 2, 3, [=](int i) { std::cout<< i; });
Run Code Online (Sandbox Code Playgroud)

编译器抱怨它无法推断模板参数Func.如何解决这个问题,知道args除了函数指针之外的任何类型.

c++ templates variadic c++11

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

QThread中的精确间隔

我在Qt编写了一个线程,它做了很多事情(计算,数据采样......).
该线程必须以1000ms的间隔运行.
计时器允许的错误大约是5ms.
我已经改变了线程的优先级,QThread::HighPriority但是线程在大约1060ms-1100ms的间隔内运行.
如何使间隔更精确?(我已经将QThread子类化并msleep(interval)run()方法中使用).

c++ qt qthread

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

这怎么可能?

在下面的代码中,甚至在main函数的块开始之前就有声明.这是允许的吗?

long long n,u,m,b;
main(e,r)
    char **r; //<<<Is this possible???
{
    for( ; n++ || (e=getchar()|32)>=0 ; b="ynwtsflrabg"[n%=11]-e?b:b*8+n)
        for( r=b%64-25 ; e<47&&b ; b/=8)
            for( n=19; n ; n["1+DIY/.K430x9G(kC["]-42&255^b||(m+=n>15?n:n>9?m%u*~-u:~(int)r?n+!(int)r*16:n*16,b=0))
            u=1ll<<6177%n--*4;printf("%llx\n",m);
}
Run Code Online (Sandbox Code Playgroud)

资料来源:我在ioccc.org上找到了这个代码

c

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

标签 统计

qt ×4

c++ ×3

c ×1

c++11 ×1

dbus ×1

embedded-linux ×1

encoding ×1

java ×1

math ×1

maven-2 ×1

maven-plugin ×1

moc ×1

python ×1

qt-signals ×1

qthread ×1

templates ×1

variadic ×1