我尝试重写方法hasHeightToWidth()和heightToWidth(),但由于某种原因它不起作用。 我可以使用一些完整的例子吗?
Upd1:
class MyWidget : public QWidget {
Q_OBJECT
public:
MyWidget() {
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHeightForWidth(true);
setSizePolicy(sizePolicy);
}
bool hasHeightForWidth() const override {
std::cout << __FUNCTION__ << std::endl;
return true;
}
int heightForWidth(int w) const override {
std::cout << __FUNCTION__ << " " << w << std::endl;
return w;
}
QSize sizeHint() const override {
return QSize(100, heightForWidth(100));
}
};
MyWidget实例插入QHBoxLayout。
我使用qt5。
调试std :: cout的show多次调用hasHeightForWidth和heightForWidth