我试图在QTextEdit
中查看页面或使用它来查看页面。
每页每行的行数有限,每行的字符数量有限,首先是页面的外观和感觉。
所以我尝试使用这段代码。
QVBoxLayout *layout =new QVBoxLayout();
ui->scrollArea->setLayout(layout);
ui->scrollArea->setWidgetResizable(true);
QTextEdit *edit = new QTextEdit("hello world");
edit->setSizePolicy(QSizePolicy::QSizePolicy::Preferred,QSizePolicy::Preferred);
QTextEdit *edit1 = new QTextEdit("hello world");
edit1->setSizePolicy(QSizePolicy::QSizePolicy::Preferred,QSizePolicy::Preferred);
QTextEdit *edit2 = new QTextEdit("hello world");
edit2->setSizePolicy(QSizePolicy::QSizePolicy::Preferred,QSizePolicy::Preferred);
// i added more
layout->addWidget(edit);
layout->addWidget(edit1);
layout->addWidget(edit2);
这个想法很简单,只需使用滚动条容器并添加垂直布局,每次我需要一个页面时,创建一个新的QTextEdit
并将其添加到滚动条中的垂直布局。
这里的问题是,每当我添加新页面时,QTextEdit
我都会将其添加得太小而滚动条从不对其进行操作,以便QTextEdit
在彼此之上,以便它看起来很糟糕。
所以我做错了以致滚动条不起作用,以及如何使每个QTextEdit
采用具有良好尺寸的良好页面外观给我看起来像Microsoft word或pdf这样的页面
如果有一个更好的想法或解决方案我想要做的事情,如果有一个已经实现的小部件或库有这个会更好。
答案 0 :(得分:0)
您不必替换QScrollArea的现有布局,您需要做的是创建窗口小部件,并在该窗口小部件中设置布局。在该小部件之后,您必须通过setWidget()
方法将其放在QScrollArea中,如果您希望显示的高度更大,则设置最小尺寸。
QWidget *contentWidget = new QWidget;
QVBoxLayout *layout =new QVBoxLayout(contentWidget);
ui->scrollArea->setWidget(contentWidget);
ui->scrollArea->setWidgetResizable(true);
QTextEdit *edit = new QTextEdit("hello world");
edit->setMinimumHeight(200);
// create others QTextEdit
layout->addWidget(edit);
// add the QTextEdits