0
我是QT的新手。我的QT项目中有几个QDialogs。我创建了一个通用类来更改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类传递给上述静态方法?这样静态方法将改变QDialog中QPushButton的字体大小。
你可能想'obj'是引用或指针:'无效MyClass的:: setFontsizeToWidgets(浮动modValue,QObject的* OBJ)'。 – thuga
没关系。但是从QDialog类调用此方法时,如何将QDialog作为QObject的对象传递? – impulse
通过“这个”。一个QDialog是一个QWidget是一个QObject。所以你可以通过一个QDialog *作为QObject *。 –