• 8076阅读
  • 3回复

QSetting [复制链接]

上一主题 下一主题
离线20044454
 
只看楼主 正序阅读 楼主  发表于: 2009-05-05
    
把QLineEdit里面的数据保存 等下次打开继续使用
保存不了,高手请指出问题所在
QString 的数据都对应这一个QLineEdit

   QSettings settings;
    settings.beginGroup("Input");
    QString TcpInputAddress = settings.value("edtTcpInputAdress","127.0.0.1").  toString();
    QString TcpInputPort = settings.value("edtTcpInputPort","9700").toString();
    //int TcpInputPort = settings.value("edtTcpInputPort",9700).toInt();
    QString UdpInputPort = settings.value("UdpInPort","9700").toString();
    QString UdpOutAddress = settings.value("UdpOutAdress","255.255.255.255").   toString();
   QString tcpServerPort = settings.value("TcpServerPort","9700").toString();
   QString udpOutputPort = settings.value("UdpOutputPort","9700").toString();
     settings.endGroup();

    edtTcpInputAdress->setText(TcpInputAddress);
    edtTcpInputPort->setText(TcpInputPort);
    //edtTcpInputPort->setText(TcpInputPort.toString());
    UdpInPort->setText(UdpInputPort);

    UdpOutAdress->setText(UdpOutAddress);
   TcpServerPort->setText(tcpServerPort);
    UdpOutputPort->setText(udpOutputPort);

  

让我做一个Qt的大牛!!!!
离线sbtree
只看该作者 3楼 发表于: 2009-05-05
1楼说的不错
你的代码中没有看到任何地方指定了applicatonname和OrganizationName
你该仔细看看文档
windows 7 + VC++2008 + Qt4.5.2
离线20044454
只看该作者 2楼 发表于: 2009-05-05
就是按楼上说的写的 就是没有保存配置
让我做一个Qt的大牛!!!!
离线cofei
只看该作者 1楼 发表于: 2009-05-05
QSettings::QSettings ( QObject * parent = 0 ),参看文档
这个构造函数需指定applicatonname和OrganizationName才能用
你应该考虑一下QSettings::QSettings(const QString &fileName, Format format, QObject*parent=0)   创建一个用来保存数据的配置文件

QVariant QSettings::value ( const QString & key, const QVariant & defaultValue = QVariant() ) const
这个函数是用来取配置文件中key所代表的数据的,这个是用来取数据的 
你应该考虑一下void QSettings::setValue ( const QString & key, const QVariant & value ),这个往配置文件中写入数据的
当然,你可以在每一个key的前面加上前缀  void QSettings::beginGroup ( const QString & prefix )
用void QSettings::endGroup()阻止前缀的嵌套
快速回复
限100 字节
 
上一个 下一个