Как увидеть отключенную кнопку отключенной при повторном запуске программы - PullRequest
0 голосов
/ 13 мая 2011

Я создал столько qpushbutton, чтобы представлять место в кинотеатре. После покупки пользователем я отключил эти места. все, что я хочу сделать, это увидеть отключенную ранее отключенную кнопку. Я сохранил эту отключенную кнопку в текстовом файле и прочитал их имя, но не смог назначить ее в качестве кнопки Qpush для виджета. Есть ли способ решить это?

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Я сделал несколько быстрых примеров с Qt, надеюсь, это поможет вам:

// list of all seats in order (true means seat is taken, false seat is still free)
QList<bool> seats;

// set some test values
seats.append(true);
seats.append(true);
seats.append(false);
seats.append(true);

// file where the seats will be stored
QFile file("seats.dat");

// save to file
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out << seats;
file.close();

// remove all seats (just for testing)
seats.clear();

// read from file
file.open(QIODevice::ReadOnly);
QDataStream in(&file);
in >> seats;
file.close();

// simple debug output off all seats
qDebug() << seats;

// you could set the buttons enabled state like this
QList<QPushButton*> buttons; // list of your buttons in the same order as the seat list of course
for (int i = 0; i < seats.count(); ++i)
    buttons[i]->setEnabled(!seats.at(i)); // disables all seats which are already taken

Конечно, это просто простое решение, использующее QDataStream для сериализации полного списка мест, но выможете поиграть с этим, если вы новичок в Qt / C ++

1 голос
/ 13 мая 2011

Это не столько проблема с кнопками, сколько проблема структуры данных. Вы должны каким-то образом подключить свои кнопки / места к структуре данных, которая помогает в учете доступных и зарезервированных мест. Когда вы закрываете программу, вы записываете данные в файл или базу данных, которые впоследствии можете прочитать снова при открытии приложения. Затем вы можете снова отключить кнопки тех мест, которые зарезервированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...