Qt 如何在另一个QFrand的中间创建QGrand?
我是否可以使用Qt执行以下操作: 我需要两个<代码> qFrase>代码> s,一个(子)位于另一个(父)的中间,当我改变了父代码> qFrase<代码>时,孩子们也会调整大小。 如何设置布局或其他类似的操作 正如下图所示,黄色是孩子,白色是父母Qt 如何在另一个QFrand的中间创建QGrand?,qt,qwidget,qtgui,qlayout,Qt,Qwidget,Qtgui,Qlayout,我是否可以使用Qt执行以下操作: 我需要两个 qFrase>代码> s,一个(子)位于另一个(父)的中间,当我改变了父代码> qFrase时,孩子们也会调整大小。 如何设置布局或其他类似的操作 正如下图所示,黄色是孩子,白色是父母 像这样的怎么样 #include <QApplication> #include <QFrame> namespace { static const auto STYLE_SHEET = "QFrame#MyFrame {border
像这样的怎么样
#include <QApplication>
#include <QFrame>
namespace {
static const auto STYLE_SHEET = "QFrame#MyFrame {border: 10px solid white; background: yellow}";
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFrame f;
f.setObjectName( QStringLiteral( "MyFrame" ) );
f.setStyleSheet( STYLE_SHEET );
f.show();
return a.exec();
}
#包括
#包括
名称空间{
static const auto STYLE_SHEET=“QFrame#MyFrame{边框:10px纯白;背景:黄色}”;
}
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
qf框架;
f、 setObjectName(QStringLiteral(“MyFrame”));
f、 设置样式表(样式表);
f、 show();
返回a.exec();
}
好的,让我们两人一组。。。但第一个答案更好
#include <QApplication>
#include <QFrame>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFrame f1;
f1.setStyleSheet( "background: white" );
QFrame f2;
f2.setStyleSheet( "background: yellow" );
QHBoxLayout l( &f1 );
l.setContentsMargins( 10, 10, 10, 10);
l.addWidget( &f2 );
f1.resize( 200, 200 );
f1.show();
return a.exec();
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QFrame f1;
f1.设置样式表(“背景:白色”);
QFrame f2;
设置样式表(“背景:黄色”);
QHBox布局图l和f1;
l、 刚毛含量边缘(10,10,10,10);
l、 addWidget(&f2);
f1.调整大小(200200);
f1.show();
返回a.exec();
}
我试图找到一种解决方案,如下所示
QFrame *parent_frame = new QFrame(this);//this means parent_frame's parent widget
QFrame *child_frame = new QFrame(parent_frame);
child_frame ->setFixedSize(parent_frame->geometry().width() - 4, parent_frame->geometry().height() - 4);
child_frame ->move(2,2);
并重写父框架的父窗口小部件的resizeEvent事件,执行相同的操作
child_frame ->setFixedSize(parent_frame->geometry().width() - 4, parent_frame->geometry().height() - 4);
child_frame ->move(2,2);
执行此操作后,只需小心执行第一个setfixedsize.show(),这样它就可以获得正确的宽度和高度。您的答案只包含一个
QFrame
。OP询问嵌套的QFrame
s。您创建一个QFrame
对象,为其设置一个布局,然后在该布局中添加另一个QFrame
对象。到底是什么问题?