Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt对象中是否有用作默认值属性的属性?_Qt - Fatal编程技术网

Qt对象中是否有用作默认值属性的属性?

Qt对象中是否有用作默认值属性的属性?,qt,Qt,我不知道Qt是如何为映射到模型的小部件选择适当的属性的 QDataWidgetMapper::addMapping ( QWidget * widget, int section ) docu(4.8)讲述了一些关于用户属性的信息,但是是哪一个呢 在示例中,“文本”属性用于行编辑、旋转框的当前索引。Qt对象中是否有用作默认值属性的属性?如果是这样,那么我就错过了一些重要的东西。对于QLineEdit,使用text属性,因为QLineEdit声明如下: class Q_WIDGETS_EXPOR

我不知道Qt是如何为映射到模型的小部件选择适当的属性的

QDataWidgetMapper::addMapping ( QWidget * widget, int section )
docu(4.8)讲述了一些关于用户属性的信息,但是是哪一个呢


在示例中,“文本”属性用于行编辑、旋转框的当前索引。Qt对象中是否有用作默认值属性的属性?如果是这样,那么我就错过了一些重要的东西。

对于QLineEdit,使用text属性,因为QLineEdit声明如下:

class Q_WIDGETS_EXPORT QLineEdit : public QWidget
{
    Q_OBJECT
    Q_PROPERTY(QString inputMask READ inputMask WRITE setInputMask)
    Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged USER true)
    Q_PROPERTY(int maxLength READ maxLength WRITE setMaxLength)
    ...
请注意,Q_属性文本的用户属性设置为true。根据文件()

“用户”属性指示是将该属性指定为类的面向用户的属性还是用户可编辑的属性。通常,每个类只有一个用户属性(默认为false)。e、 例如,QAbstractButton::checked是(可检查)按钮的用户可编辑属性。请注意,QItemDelegate获取并设置小部件的用户属性


是的,小部件通常具有用户属性。我不确定我是否理解你的问题,但请注意,有些属性有一个重置默认值的方法。有多个属性,最多可以将其中一个声明为用户属性。@KubaOber我没有注意到它们指的是标志用户,但我认为,任何用户定义的属性都是用户属性。顺便问一下,有没有办法检查QObject中当前的用户属性是哪个属性,或者有没有可能在运行时定义用户属性?那么,是否在其他属性上重置了标志?用户标志设置在元数据IIRC的只读部分,因此在编译代码后不能更改。