restoreState и saveState не работают в Qt 4.8.2

код такой:

файл -> Conf.cpp

#include <QWidget>
#include <QSettings>
#include <QMainWindow>Conf::Conf(QWidget *parent) :
QWidget(parent),
ui(new Ui::Conf)
{
ui->setupUi(this);

//QCoreApplication :: setOrganizationDomain ("OrgDomain");
//QCoreApplication :: setOrganizationName ("OrgName");
//QCoreApplication :: setApplicationName ("AppName");
//QCoreApplication :: setApplicationVersion ("1.0.0");QSettings settings;
restoreGeometry(settings.value("mainWindowGeometry").toByteArray());
restoreState(settings.value("mainWindowState").toByteArray());

}Conf::~Conf()
{
delete ui;
}void Conf::on_pushButton_clicked()
{

......

QSettings settings;
settings.setValue("mainWindowGeometry", saveGeometry());
settings.setValue("mainWindowState", saveState());

close();

}

файл -> Conf.h

#include <QWidget>

namespace Ui {
class Conf;
}

class Conf : public QWidget
{
Q_OBJECT

public:

explicit Conf(QWidget *parent = 0);
~Conf();

private slots:

void on_pushButton_clicked();

private:
Ui::Conf *ui;
};

Ошибки:

‘restoreStates’ не было объявлено в этой области

‘saveStates’ не был объявлен в этой области

Я думаю, что проблема в библиотеке, потому что «restoreGeometry» и «saveGeometry» работают отлично.

0

Решение

Ваш класс наследуется от QWidget, но у QWidget нет никаких restoreState и saveState. Это в QMainWindow.

0

Другие решения


По вопросам рекламы [email protected]