如何在滚动区域中动态插入项目并在QT中加载滚动条
How to insert items dynamically in scroll area and loading the scroll bar in Qt?
在我们开始事物之前,这可能是qt滚动区域的可能重复的卷轴,但是用户提供的答案且似乎适用于OP,对我不起作用。我担心这可能与版本有关吗?还是我想念什么?(可能!)
好吧,对于那些认识QT的人来说
我想按下按钮并将项目添加到容器中,然后应该可以向下滚动。那样简单。
所以我认为也许将布局设置为scrollarea可以完成这项工作。它确实会根据我的意愿添加我的物品,但没有加载滚动条。我已经检查了卷轴,但没有任何满足我的问题。就像gvboxlayout不会增加大小,并且不让滚动区域滚动。
有人对如何修复它有线索吗?
代码下面:
salewindow.h
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QListWidget>
#include<QString>
namespace Ui {
class SaleWindow;
}
class SaleWindow : public QMainWindow
{
Q_OBJECT
public:
explicit SaleWindow(QWidget *parent = 0);
~SaleWindow();
private slots:
void on_pushButton_clicked();
private:
Ui::SaleWindow *ui;
QVBoxLayout *gBoxLayout;
QMap<QString, QListWidget *> m_mappings;
};
#endif // SALEWINDOW_H
salewindow.cpp
#include "salewindow.h"
#include "ui_salewindow.h"
#include <iostream>
#include <QGroupBox>
#include <QLabel>
//#include <QtSql/QSqlDatabase>
//#include <QtSql>
#include <QtWidgets/QPushButton>
SaleWindow::SaleWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::SaleWindow),
gBoxLayout(new QVBoxLayout())
{
ui->setupUi(this);
// Adding layout to scrollbar
{
ui->scrollArea_sales->setWidgetResizable(true);
ui->scrollArea_sales->setLayout(gBoxLayout);
QWidget *central = new QWidget;
ui->scrollArea_sales->setWidget(central);
}
}
SaleWindow::~SaleWindow()
{
delete ui;
delete gBoxLayout;
}
void SaleWindow::on_pushButton_clicked()
{
QGroupBox *sale = new QGroupBox();
sale->setTitle("minha venda");
gBoxLayout->addWidget(sale);
ui->scrollArea_sales->setLayout(gBoxLayout);
}
如果您从UI编辑器使用QSCrollarea将scrollarea_sales对象用于scrollarea_sales对象,则可以在qscrollarea中的对象检查器(qtdesigner)中看到一个默认的窗口小部件,因此您无需添加此信息。尝试此代码:
// Adding layout to scrollbar(on the contrctor, replace yor scope by)
{
ui->scrollArea_sales->widget()->setLayout(gBoxLayout);
}
void MainWindow::on_pushButton_clicked() {// on the slot replace all by:
QGroupBox *sale = new QGroupBox();
sale->setTitle("minha venda");
ui->scrollArea_sales->widget()->layout()->addWidget(sale);
}
相关文章:
- 如何使用Qt 3D库加载和显示搅拌机.obj源文件场景
- 无法使用 Qt 15.3.1 进行远程调试时加载 qtcreatorcdbext.dll
- Qt Visual Studio 2015 加载项编译问题
- 在Qt C++单元测试中动态加载QQuickWindow而不是QQuickWidget
- 如何在Qt中使用QDataStream将自定义结构保存/加载到二进制文件中?
- QPixmap在Qt中加载了许多图像
- Qt创建者:加载位于子目录中的项目文件
- Qt无法加载可可插件
- Qt QWebEngineView 不允许加载本地资源
- 如何在 QT 中显示文件加载状态
- 为什么Qt资源被加载到Linux而不是Windows中?
- 应用程序仅在qt调试器中加载dll,而不是独立加载
- QT 加载.dll不调用解析
- 是否可以在QT GUI应用程序中处理事件时播放加载动画指示器?
- 为什么在Qt中创建主窗口之前必须加载语言包?
- 交叉编译 qt:加载共享库时出错
- QWebview:关闭在QWebview qt加载图像
- 正在安装Visual Studio 2013的QT加载项
- VS 2010 Qt 加载项中的链接错误
- Qt加载不完整的JPEG数据到QPixMap如何验证