小编Tar*_*rod的帖子

DoubleValidator没有正确检查范围

让我用一个例子来解释这个问题。

如果有TextField这样的话

TextField {
    text: "0.0"
    validator: DoubleValidator { bottom: -359.9;
        top: 359.9;
        decimals: 1;
        notation: DoubleValidator.StandardNotation }

    onEditingFinished: {
        console.log("I'm here!");
    }                    
}
Run Code Online (Sandbox Code Playgroud)

我们可以键入数字,例如444.9399.9-555.5。如您所见,值不在-359.9和之间359.9

文档中,我们可以找到以下信息:

输入被接受,但如果输入的双精度数超出范围或格式错误,则该输入无效;例如,小数点后的位数过多或为空。

我以为DoubleValidator自己不接受这种事情,但是不幸的是它接受了。

因此,我想解决方案将是检查最终输入,但是我们又遇到一个问题:editingFinished仅当验证器返回可接受的状态时才会发出此消息,而情况并非总是如此。

也许我没有做一个好的方法,我不了解如何使用,DoubleValidator或者我需要一些C ++代码。

顺便说一句,我正在使用Qt 5.4。

c++ qt qml qt5.4

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

如何本地化Qt qmldir插件?

我的应用程序有一个用Qt QML编写的GUI,我们使用qsTr()和Qt .ts文件成功地将其国际化.现在我们通过Qt的qmldir API 添加第三方插件支持.在.qml插件的文件中,qsTr()仅当转换已经在主机应用程序的.ts文件中时才能正常工作.第三方QML作者如何将本地化字符串添加到其qmldir插件中?

plugins qt localization qml

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

将对象从c ++发送到qml.那些免费记忆?

有一个继承自QAbstractListModel的模型,我在qml中使用它.此模型的一个属性是参数,它们特定于此模型的元素类型.这是此类参数的一个元素TemperatureParam,DifrentParamType另一个,第三个仍然是...我怎样才能将对象传递给qml并确保在使用后释放内存?下面的代码现在可以正常工作,但在我看来它并不安全.

Param类是如此微不足道:

class QuickTemperatureParam : public QObject
{
    Q_OBJECT
    Q_PROPERTY(float param1 READ param1 WRITE setParam1)
//...
};
Run Code Online (Sandbox Code Playgroud)

模型类(这是我要问的):

class SectionsModel : public QAbstractListModel
{
//...
QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const override
{
//...
    int type = getType( idx );
    if (type == 1)
    {
        auto p = new QuickTemperatureParam( idx );
        p->deleteLater(); // This is all right or no?
        return qVariantFromValue(p);
    }
    else if (type == 2)
    //...
}
};
Run Code Online (Sandbox Code Playgroud)

QML是这样的:

ListView {
    model: …
Run Code Online (Sandbox Code Playgroud)

c++ qt memory-leaks qml

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

是否有一个与beanshell source()方法等效的groovy?

我已经仔细研究了那些时髦的文档,并没有找到类似的东西,但那里的东西有点随意组织.我正在从beanshell切换到groovy,并使用beanshell中的源("fileloc")方法内联 - 包含其他实用程序beanhell脚本以供重用.在groovy或最佳实践中是否有标准功能?

groovy beanshell

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

在QMessageBox-> setText中显示参数

QMessageBox定义为

m_setting2 = new QMessageBox();
m_setting2->setWindowTitle("NOTE");
m_setting2->setText("RESETTING PREFERENTIAL VALUE TO ");
m_setting2->show();
Run Code Online (Sandbox Code Playgroud)

哪里m_setting2是我的QMessageBox*.

现在之后VALUE TO,setText我想添加一个从中获取的整数参数QLineEdit.该整数存储在valuee.

那我怎么能打印出那个整数呢VALUE TO

在某个地方,我看到它应该是类似QString.("%1").arg(valuee)但它不起作用.

请帮助我,感谢任何类型的关注.

qt qlineedit qmessagebox

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

如何设置系统默认背景色?

我有一个小部件,例如QComboBox.

通过该功能,setStyleSheet("background:red")我可以设置背景。

但我怎样才能恢复颜色呢?我试过了"background:gray""background:silver"但看起来不一样。

python qt pyqt

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

如何以编程方式检查应用程序是否为游戏?

我打算通过检测 Playstore 安装的应用程序是否是游戏来制作一个 android 应用程序来控制我的手机使用。所以如果安装的应用程序是游戏应用程序,我的应用程序会检测到安装的应用程序是一种游戏,并且不允许游戏应用程序运行。

我想知道是否有任何源代码。

android

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