我是QT的新手。我的QT项目中有几个QDialog。我创建了一个泛型类来更改QDialogs中小部件的属性。我的泛型类有一个 static 方法,它将改变小部件的属性。
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的字体大小。
答案 0 :(得分:1)
你可以这样做:
void MyClass::setFontsizeToWidgets(float modValue, QObject *obj)
{
//do something
}
void MyDialog::someFunction() //this is a function of your QDialog class
{
MyClass::setFontsizeToWidgets(10, this);
}