Qt: QDockWidget中QLabel的大小
Qt: size of QLabel in a QDockWidget
我创建了一个左QDockWidget
,并添加了2个QLabel
。我想要一个平方大小的标签(默认为100x100)。
所以当用户增加QDockWidget
的宽度时,我应该如何强制我的标签保持平方大小?
我尝试了很多事情,没有任何成功:
我认为你应该覆盖int QWidget:: highightforwidth (int width) const函数。因此,您需要创建自己的QLabel
子类。
class MyLabel
{
public:
virtual int heightForWidth( int aWidth ) const override
{
return aWidth; // So it will be square.
}
};
我想我有办法了
我创建了这个子类:
class SquareLabel : public QLabel
{
public:
SquareLabel(QWidget* parent = 0) : QLabel(parent)
{
setMinimumSize(100, 100);
QSizePolicy pol(QSizePolicy::Preferred, QSizePolicy::Preferred);
pol.setHeightForWidth(true);
setSizePolicy(pol);
}
virtual int heightForWidth(int w) const { return w; }
virtual QSize sizeHint() const { int w = this->width(); return QSize(w, heightForWidth(w)); }
protected:
void resizeEvent(QResizeEvent* event) { }
};
我所有的标签都添加在一个QVBoxLayout中,我需要这个属性:
layout->setAlignment(Qt::AlignTop);
现在,我需要调整我的像素图在我的标签。我会在结束这个问题之前把它贴出来。
相关文章:
- 如何使用新运算符跟踪在循环中创建的 QLabel
- 除了构造函数之外,还创建 QLabel
- 在 QLabel 中显示视频
- Qt GUI使用Qfiledialogbox和qlabel显示视频,这是我的代码
- 如何在C++中将自定义文本设置为 QLabel?
- 如何使用鼠标单击选择多个 QLabel 对象?
- 在特定时间内更改 QLabel 的背景颜色
- 如何将QLabel放入切换按钮Qt c ++中
- 在应用程序启动时停靠 QDockWidget?
- 如何在QListWidget中显示QStringList的每个项目QLabel和另一个QString?
- 类继承自QLabel,为什么不调用自定义插槽?
- 使用 QpushButton 切换显示在 QLabel 中的图像
- QLabel 未正确更新
- Qt多线程:如何更新两个QLabel?
- 如何在Qt中为任何QLabel设置可访问的名称,我们可以使用Windows讲述人读取
- QT:QDOCKWIDGET的力大小
- QT-如何在我的笔记本电脑上全屏显示Qlabel
- 麻烦编译可单击的Qlabel
- 将一个 Qlabel 的 QPixmap 复制到另一个 Qlabel
- Qt: QDockWidget中QLabel的大小