如何在qt5中维护widget的特定高宽比?

时间:2013-05-28 20:48:17

标签: c++ qt qt5

我尝试重写方法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

0 个答案:

没有答案