Я думаю, что это та же проблема, как: QScrollArea resizing QWidgetQScrollArea отсутствует Полоса прокрутки
но не решение. поэтому позвольте мне разоблачить проблему.
- тест 2 унаследованный от QWidget:
- составе:
- вектор QSpinBox
- QScrollArea
- QVBoxLayout
- test2 (QWidget) < - QScrollArea < - QVBoxLayout < - со счётчиком
- составе:
- Проблемы: не
- Там еще нет полосы прокрутки
- [FIXED] Внутри скроллинга усаживается, чтобы соответствовать так мало места, ничто не может быть прочитан (окно может быть изменен во время выполнения, что приведет к внутренней, чтобы получить больше и быть читаемыми все-таки не будет отображаться не полосы прокрутки)
Думаю проблемы ком e из одного источника :: Размер подсказок и макетов (http://qt-project.org/doc/qt-5.1/qtwidgets/qscrollarea.html#details)
Вторая проблема (сшитый виджет) может быть решена путем установки «c-> setSizeConstraint (QLayout :: SetMinimumSize);»
Я в настоящее время ищет решение для отсутствующего скроллинга
вот код, показывающий мою проблему:
<c++>
#include <QWidget>
#include <QScrollArea>
#include <QVBoxLayout>
#include <QSpinBox>
class test2 : public QWidget
{
Q_OBJECT
public:
test2(QWidget *parent = 0) :QWidget(parent)
{
b = new QScrollArea(this);
c = new QVBoxLayout;
for (int i = 0; i < 10; i++)
{
a.push_back(new QSpinBox());
c->addWidget(a[i]);
}
c->setSizeConstraint(QLayout::SetMinimumSize);
b->setLayout(c);
b->resize(200, 200);
}
~test2()
{
for (int i = 0; i < 10; i++)
delete a[i];
}
protected:
QVector<QSpinBox*> a;
QScrollArea* b;
QVBoxLayout* c;
};
int main(int argc, char *argv[])
{
///*
QApplication app(argc, argv);
test2 a;
a.show();
return app.exec();//*/
}
EDIT :: нашел решение здесь: http://qt-project.org/forums/viewthread/295
если вы дон Не хочу читать огромное количество бесполезного кода здесь, что он сделал: он исказил макет внутри виджета
Solution :: наследуют объект от ScrollBar < - Widget < - Layout
вместо виджета < - ScrollBar < - Layout
но работа вокруг на самом деле не решение ... я собираюсь попробовать на примере, который я дал.
Это работает. У кого-нибудь есть лучшее решение?
Человек это помогло мне :) Большое спасибо – murison