が、私は以下の事を行うにはQtを使用することができます。私は2 QFrame
秒を必要とする別のQFrameの途中でQFrameを作成する方法は?
を、1(子)が別の(親)の途中にある、と私は親QFrame
を変更すると、子どもたちはあまりにもサイズが変更されます。
レイアウトやその他の設定をどうすればできますか?
下の画像のように、黄色は子供、白は親です。
が、私は以下の事を行うにはQtを使用することができます。私は2 QFrame
秒を必要とする別のQFrameの途中でQFrameを作成する方法は?
を、1(子)が別の(親)の途中にある、と私は親QFrame
を変更すると、子どもたちはあまりにもサイズが変更されます。
レイアウトやその他の設定をどうすればできますか?
下の画像のように、黄色は子供、白は親です。
どのようにこのようなものでしょうか?
#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();
}
あなたの回答に含まれるのは1つの「QFrame」だけです。 OPはネストされた 'QFrame'について尋ねました。 – m7913d
[OK]を2つのQFrameにしましょう...しかし、最初の答えが良いです。
#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();
}
私は以下のような解決策を見つけようとしました。
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);
とparent_frameの親ウィジェットのresizeEventイベントを書き換える、同じことを行う
child_frame ->setFixedSize(parent_frame->geometry().width() - 4, parent_frame->geometry().height() - 4);
child_frame ->move(2,2);
あなたはthis.show(行った後最初のsetfixedsizeを行うに注意する必要がある唯一のもの)適切な幅と高さを得ることができます。
'QFrame'オブジェクトを作成し、それにレイアウトを設定し、そのレイアウト内に別の' QFrame'オブジェクトを追加します。問題は何ですか? – thuga