Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Qt对话框上布局图像_C++_Qt - Fatal编程技术网

C++ 在Qt对话框上布局图像

C++ 在Qt对话框上布局图像,c++,qt,C++,Qt,如何在Qt中将图像添加到对话框中 我知道这在过去经常被问到,并且大多数答案都会给出一个QLabel及其setPixmap成员。然而,这通常不是用户(me)想要的: 带有pixmap集的QLabel不参与周围的QLayout。也就是说,当对话框调整大小时,它只是拒绝调整大小,例如,QPushButton就可以了。QHorizontalLayout中相邻的两个QPushButtons将(类似)平均分配它们之间的可用水平空间。在同一布局中,在QPushButton旁边有一个pixmap的QLabe将

如何在Qt中将图像添加到对话框中

我知道这在过去经常被问到,并且大多数答案都会给出一个
QLabel
及其
setPixmap
成员。然而,这通常不是用户(me)想要的:

  • 带有pixmap集的
    QLabel
    不参与周围的
    QLayout
    。也就是说,当对话框调整大小时,它只是拒绝调整大小,例如,
    QPushButton
    就可以了。
    QHorizontalLayout
    中相邻的两个
    QPushButton
    s将(类似)平均分配它们之间的可用水平空间。在同一布局中,在
    QPushButton
    旁边有一个pixmap的
    QLabe
    将保持固定大小

  • 默认情况下,调整裸
    QLabel的大小时,它不会调整其内容的大小

  • 但是当它这样做(
    QLabel::setResizeContents
    )时,它将不会保持纵横比


是否有任何本机方法可以在对话框上显示pixmap并使其合理地参与布局?

可以通过
sizePolicy
属性管理项目大小调整。发件人:

sizePolicy:QSizePolicy

此属性保存小部件的默认布局行为

如果有一个QLayout管理此小部件的子项,则大小 使用该布局指定的策略。如果没有这样的QLayout, 使用此函数的结果

默认策略为Preferred/Preferred,这意味着小部件 可以自由调整大小,但首选大小为sizeHint()返回的大小。 类似按钮的小部件设置大小策略,以指定它们可以 水平拉伸,但垂直固定。这同样适用于 lineedit控件(例如QLineEdit、QSpinBox或可编辑的 QComboBox)和其他水平定向的小部件(例如 QProgressBar)。QToolButton通常是方形的,因此它们允许生长 在两个方向。支持不同方向的小部件(例如 QSlider、QScrollBar或QHeader)在各自的 只有方向。可以提供滚动条的小部件(通常是 QScrollArea)的子类倾向于指定它们可以使用 额外的空间,并且他们可以使用小于sizeHint()的空间

我想您正在搜索
QSizePolicy::expansing
size策略:

sizeHint()是一个合理的大小,但是小部件可以缩小和缩小 还是有用的。小部件可以利用额外的空间,因此它应该 获得尽可能多的空间(例如,空间的水平方向 水平滑块)


QLabel
设置此选项,并检查其大小。请尝试
QSizePolicy::Policy
enum中的其他值。

您的问题很广泛。我不这么认为。为什么?你可以试试图形场景视图框架。将图像作为像素贴图项添加到场景中。@m.c.这在这里没有任何帮助。我认为您的问题必须重新表述,因为您要求的是非常具体的:您需要一个扩展小部件,它显示按比例缩放的图像并保持其纵横比。你对“合理参与布局”的定义太模糊,无法作为问题的主题。这无法解决问题。