0
Я новичок в QT. У меня есть несколько QDialogs в моем проекте QT. Я создал общий класс для изменения свойств виджетов внутри QDialogs. У моего родового класса есть статический метод , который изменит свойства виджетов.QT: Передача QDialog как объекта
void MyClass::setFontsizeToWidgets(float modValue, QObject obj)
{
QFont f;
float pointSize = 0.0;
QList<QPushButton*> buttons = obj.findChildren<QPushButton*>();
foreach (QPushButton * button, buttons)
{
f = button->font();
pointSize = f.pointSizeF();
f.setPointSizeF(pointSize*modValue);
button->setFont(f);
}
}
Теперь мои вопросы в том, как передать QDialog как объект к выше статического метода из класса QDialog? Чтобы статический метод изменил размер шрифта QPushButton (s) в QDialog.
Вы, вероятно, хотите 'obj' быть ссылка или указатель:' недействительные MyClass :: setFontsizeToWidgets (поплавок modValue, QObject * OBJ) '. – thuga
Это нормально. Но когда вы вызываете этот метод из класса QDialog, как передать QDialog как объект QObject? – impulse
Пройдите «это». QDialog QWidget - это QObject. Таким образом, вы можете передать QDialog * как QObject *. –