नहीं कहा जाता है, मैं अपने विजेट को हमेशा वर्ग आकार बनाना चाहता हूं। this answer के बाद, मैंने QWidget::heightForWidth()
ओवरराइड किया है, और मैं @peppe द्वारा सुझाए गए अनुसार, निर्माता में setHeightForWidth(true)
भी कॉल करता हूं। आकार नीति Preferred,Preferred
(दोनों क्षैतिज आकार और लंबवत आकार के लिए) पर सेट है।QWidget :: heightForWidth() को
हालांकि, heightForWidth()
नहीं कहा जा रहा है। क्या मैं कुछ गलत कर रहा हूं?
virtual int heightForWidth(int) const;
यह लिनक्स और विंडोज पर होता है:
यह मेरा Widget
कक्षा में heightForWidth() की घोषणा है।
क्या आपने विजेट के QSizePolicy पर संबंधित ध्वज भी सेट किया है? X11 अपने आप पर ऊंचाई के लिए चौड़ाई झंडे का समर्थन करता है। – peppe
यह ध्वज कौन सा है? मेरे विजेट की आकार नीति 'पसंदीदा' पर सेट है। – sashoalm
यह QSizePolicy में है: 'QSizePolicy p = sizePolicy(); p.setHeightForWidth (सही); setSizePolicy (पी), '। ध्यान दें कि लेआउट भी आपकी ऊंचाई में हस्तक्षेप कर सकते हैं फॉरविड्थ (उनके पास समान झंडे भी हैं)। – peppe