Как добавить определение в класс?
Например конкретно в моей ситуации, по заявлению эксперта, было удалено определение buttons, бывшее членом класса MainWindow.
Что делать?
В том коде вы вроде кнопки добавляли в список buttons
прямо в той функции, так что надо тогда
- либо переместить добавление куда-то, где оно выполнится один раз при инициализации (например, конструктор MainWindow)
- либо вызывать
.clear()
- либо (если не нужно хранить состояние между взаимодействиями и обращаться к тому же списку в других местах) просто объявить в той функции.
Для первых двух: почитать в любом учебнике С++ как работать с классами, открыть MainWindow.h
и добавить в private секцию что-то типа QList<QPushButton*> buttons
.
http://www.cplusplus.com/doc/tutorial/classes/
https://doc.qt.io/qt-5/qlist.html#details
Спасибо.
Если честно… Забурился в свои учебники и все же нашёл ошибки…
Жалко конечно потраченное время… Но что поделаешь.
Так вот. Последний наверное у меня вопрос по qt. Какими функциями можно считать текст у кнопок? Тоесть обращение к кнопкам через текст на ней, а не стандартные pushbutton варианты
Это ж разные вещи.
Получить текст имея объект кнопки — button->text()
https://doc.qt.io/qt-5/qabstractbutton.html#text-prop
Если вы хотите найти кнопку зная только текст — либо перебирать все кнопки в цикле, либо создать QMap (или std::map
, std::unordered_map
из чистого С++ тоже подойдут), где ключ — текст, а значение — кнопка. QMap<QString, QPushButton*>
https://doc.qt.io/qt-5/qmap.html#details
Как нормально обратиться к этим кнопкам в цикле? Да и с самим циклом возникли проблемы…
В смысле “нормально”?
Непонятный вопрос, покажите код и сформулируйте вопрос нормально )