Хорошо, я выполнил некоторую отладку. Я написал код для отображения моего QFrame на другом QFrame в простом менеджере макетов. Это не работает. Так что проблема не в коде. Это просто способ, которым QFRame не может быть отображено на QFrame. Кто-нибудь знает, как это исправить ??
/ ********************************************** ** ПРЕДЫДУЩАЯ ШТУФФФФФФФФ (игнорируется) ******************************************** *************** /
У меня есть класс из класса QWidget, но я хочу добавить список из 5 виджетов в этот виджет верхнего уровня.
Когда я добавляю их, они, кажется, перекрываются, даже если я расположил их в горизонтальном расположении.
Есть какой-то параметр, который я не устанавливаю или ничего не пропускаю?
На рисунке 5 пространств виджетов, и во время выполнения я создаю виджеты и заполняю их. Но когда я это делаю, по какой-то причине они толпятся слева.
sensor1 = new LightWidget(green, this);
sensor2 = new LightWidget(green, this);
sensor3 = new LightWidget(green, this);
sensor4 = new LightWidget(green, this);
sensor5 = new LightWidget(green, this);
Вот результат ... Вместо того, чтобы видеть 5 зеленых кружков, я вижу их все слева поверх других.
![enter image description here](https://i.stack.imgur.com/1oLKv.jpg)
Cheers,
Ник
Это код формы пользовательского интерфейса ... по запросу ...
void setupUi(QWidget *Form)
{
if (Form->objectName().isEmpty())
Form->setObjectName(QString::fromUtf8("Form"));
Form->resize(762, 150);
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(Form->sizePolicy().hasHeightForWidth());
Form->setSizePolicy(sizePolicy);
Form->setMinimumSize(QSize(700, 150));
Form->setMaximumSize(QSize(16777215, 150));
layoutWidget = new QWidget(Form);
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
layoutWidget->setGeometry(QRect(10, 20, 721, 101));
layout = new QHBoxLayout(layoutWidget);
layout->setObjectName(QString::fromUtf8("layout"));
layout->setContentsMargins(0, 0, 0, 0);
dataLayout = new QVBoxLayout();
dataLayout->setObjectName(QString::fromUtf8("dataLayout"));
posLayout = new QHBoxLayout();
posLayout->setObjectName(QString::fromUtf8("posLayout"));
posLabel = new QLabel(layoutWidget);
posLabel->setObjectName(QString::fromUtf8("posLabel"));
posLayout->addWidget(posLabel);
posValue = new QLabel(layoutWidget);
posValue->setObjectName(QString::fromUtf8("posValue"));
posValue->setMaximumSize(QSize(16777215, 16777215));
posLayout->addWidget(posValue);
dataLayout->addLayout(posLayout);
speedLayout = new QHBoxLayout();
speedLayout->setObjectName(QString::fromUtf8("speedLayout"));
speedLabel = new QLabel(layoutWidget);
speedLabel->setObjectName(QString::fromUtf8("speedLabel"));
speedLayout->addWidget(speedLabel);
speedValue = new QLabel(layoutWidget);
speedValue->setObjectName(QString::fromUtf8("speedValue"));
speedLayout->addWidget(speedValue);
dataLayout->addLayout(speedLayout);
angleLayout = new QHBoxLayout();
angleLayout->setObjectName(QString::fromUtf8("angleLayout"));
angleLabel = new QLabel(layoutWidget);
angleLabel->setObjectName(QString::fromUtf8("angleLabel"));
angleLayout->addWidget(angleLabel);
angleValue = new QLabel(layoutWidget);
angleValue->setObjectName(QString::fromUtf8("angleValue"));
angleLayout->addWidget(angleValue);
dataLayout->addLayout(angleLayout);
layout->addLayout(dataLayout);
sensorLayout = new QHBoxLayout();
sensorLayout->setObjectName(QString::fromUtf8("sensorLayout"));
sensor1 = new LightWidget(layoutWidget);
sensor1->setObjectName(QString::fromUtf8("sensor1"));
sensor1->setEnabled(true);
sensorLayout->addWidget(sensor1);
sensor2 = new LightWidget(layoutWidget);
sensor2->setObjectName(QString::fromUtf8("sensor2"));
sensorLayout->addWidget(sensor2);
sensor3 = new LightWidget(layoutWidget);
sensor3->setObjectName(QString::fromUtf8("sensor3"));
sensorLayout->addWidget(sensor3);
sensor4 = new LightWidget(layoutWidget);
sensor4->setObjectName(QString::fromUtf8("sensor4"));
sensorLayout->addWidget(sensor4);
sensor5 = new LightWidget(layoutWidget);
sensor5->setObjectName(QString::fromUtf8("sensor5"));
sensorLayout->addWidget(sensor5);
layout->addLayout(sensorLayout);
retranslateUi(Form);
QMetaObject::connectSlotsByName(Form);
} // setupUi
Добавляемые виджеты относятся к типу QFrame.