Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
Qt QPushButton图标在调整大小事件时最大化_Qt_Qt4_Qtstylesheets - Fatal编程技术网

Qt QPushButton图标在调整大小事件时最大化

Qt QPushButton图标在调整大小事件时最大化,qt,qt4,qtstylesheets,Qt,Qt4,Qtstylesheets,我有一个关于调整QPushButton上图标大小的问题。目标系统是Linux上的Qt4.8.6。我正在使用QPushButton创建只带有图标的按钮,没有文本。我想有尽可能大的图标集中在按钮上,包括一些空白 我不希望按钮大小适应图像大小,我希望图像大小适应按钮大小,而按钮大小通过QGridLayout或手动调整大小自动适应GUI大小 简单创建按钮时,图标仅在中间加载小图标: const QString fileName = "Bitmaps/btn.png"; if( !QFile( fileN

我有一个关于调整QPushButton上图标大小的问题。目标系统是Linux上的Qt4.8.6。我正在使用QPushButton创建只带有图标的按钮,没有文本。我想有尽可能大的图标集中在按钮上,包括一些空白

我不希望按钮大小适应图像大小,我希望图像大小适应按钮大小,而按钮大小通过QGridLayout或手动调整大小自动适应GUI大小

简单创建按钮时,图标仅在中间加载小图标:

const QString fileName = "Bitmaps/btn.png";
if( !QFile( fileName ).exists() )
{
    qDebug() << "File not found: " << fileName;
}
const QPixmap pixmap = QPixmap( fileName );
m_btn = new QPushButton( QIcon( pixmap ), "", this );
要重新缩放图标大小,我需要手动调用setIconSize()。我可以在实例化小部件的resize事件中调用它。 但处理保证金仍需人工计算

m_btn->setIconSize( QSize(  ( m_btn->size().width() - 12 ),
                            ( m_btn->size().height() - 12 ) ) );
但是,正如我从Qt文档中得到的,有一个基于样式表的布局,称为“盒子模型”,它也应用于QPushButton

因此,我的问题是,如何配置按钮图标以填充“内容”区域(在上述文档中标记为灰色)。 可能我该如何配置它,使图标自动调整大小?
感谢您的帮助:-)

我最终使用了问题中提出的解决方案。在parent resize事件中,手动重新计算新图标大小。我最终使用了问题中给出的解决方案。在父级调整大小事件中,手动重新计算新图标大小。
m_btn->setIconSize( QSize(  ( m_btn->size().width() - 12 ),
                            ( m_btn->size().height() - 12 ) ) );