Я новичок в программировании на Qt, и я хочу добавить полосу прокрутки к виджету, в котором есть дочерние виджеты. Я видел несколько вопросов / сообщений на эту тему:
1. Какдобавить полосу прокрутки к родительскому QWidget
2. Вставить полосу прокрутки в виджет qt с помощью qtcreator
3. Добавление полосы прокрутки в Qwidget
4. QScrollArea отсутствует полоса прокрутки
Но большинство ответов устанавливают компоновку для виджета, для которого мы добавляем полосу прокрутки.
Моя проблема:
Виджет, для которого мне нужна полоса прокрутки, содержит много дочерних виджетов. Но я не добавил к ней никакого макета. Геометрия дочерних виджетов модифицируема, и поэтому яЯ не добавил макет в родительский виджет.
Ниже приведен мой код:
class Absolute : public QWidget {
public:
Absolute(QWidget *parent = 0);
};
Absolute::Absolute(QWidget *parent)
: QWidget(parent) {
QTextEdit *ledit = new QTextEdit(this);
ledit->setGeometry(5, 5, 500, 550);
QTextEdit *lledit = new QTextEdit(this);
lledit->setGeometry(510, 5, 250, 550);
/*QScrollArea* sa = new QScrollArea();
sa->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
sa->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
auto *widget = new QWidget(this);
sa->setWidget(widget);
auto *l = new QVBoxLayout(this);
l->setMargin(0);
l->addWidget(sa);*/
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Absolute window;
window.setWindowTitle("Absolute");
window.setGeometry(500,500,1500,1000);
window.show();
return app.exec();
}
Однако без кода полосы прокрутки (закомментированная часть) пользовательский интерфейс размещает эти текстовые сообщения в заданной позиции.как установлено в setGeometry.
Все, что мне нужно, это принести свитокбар, если ширина 2-го текстового сообщения больше.
Поэтому я попытался добавить полосу прокрутки (закомментированную часть). Однако я могу видеть только полосу прокрутки, а не текстовые сообщения.
Любое предложение / входные данные будутбыть действительно полезным. Спасибо заранее !!