当前位置: 首页 > news >正文

统一汤达人选择她做汤面活动网站优化师是一份怎样的工作

统一汤达人选择她做汤面活动网站,优化师是一份怎样的工作,erp系统要学多久,为什么石家庄突然封了项目需要设置单个检查的序列图像预览窗口,采用QScrollArea中加入QWidget窗口,每个窗口里面用Qlabel实现图像预览。 过程涉及两部分内容 引入QWidget 引入label插入图像(resize) 引入布局 组织 scrollArea内部自带Qwidget&#…

项目需要设置单个检查的序列图像预览窗口,采用QScrollArea中加入QWidget窗口,每个窗口里面用Qlabel实现图像预览。
过程涉及两部分内容

  • 引入QWidget
    • 引入label
    • 插入图像(resize)
  • 引入布局

组织

scrollArea内部自带Qwidget,后续的控件添加和layout都是在QWidget内部。
在这里插入图片描述

代码

这一过程的主要步骤是向QScrollArea内添加预览窗口的方案,首先图像的展示使用的是将QLabel的PixelMap与图像映射实现的,本文重点要做的是把QLabel放到QScollArea内,实现按照给定数量添加指定数量的QLabel,用于后续PixelMap的映射。为了方便实现,QLabel被置入QWidget中,放入Layout组织起来给传递过去。

这里在网上发现了一个很巧妙的实现,他做了一个QWidget的派生类ScrollableWidget,在派生类内构造子控件组织要添加的QLabel,然后直接调用QScrollArea的addwidget把一整个ScrollableWidget加入到界面中。这和我的应用很契合,每次Load新的序列需要把当前工作区的所有数据清除,包括预览窗口,然后重新构造。这样构造预览窗口可以直接删除当前QScrollArea的ScrollableWidget,然后根据当前Load的数据构造新的ScrollableWidget。

#include <QtWidgets>class ScrollableWidget : public QWidget {
public:ScrollableWidget(int numWidgets) {QVBoxLayout *layout = new QVBoxLayout(this);for (int i = 0; i < numWidgets; ++i) {QWidget *widget = new QWidget;QLabel *label = new QLabel(QString("Label %1").arg(i));QVBoxLayout *widgetLayout = new QVBoxLayout(widget);widgetLayout->addWidget(label);layout->addWidget(widget);}}
};class MainWindow : public QWidget {
public:MainWindow() {QScrollArea *scrollArea = new QScrollArea;ScrollableWidget *scrollableWidget = new ScrollableWidget(10);scrollArea->setWidgetResizable(true);scrollArea->setWidget(scrollableWidget);QVBoxLayout *mainLayout = new QVBoxLayout(this);mainLayout->addWidget(scrollArea);}
};int main(int argc, char *argv[]) {QApplication app(argc, argv);MainWindow window;window.setGeometry(100, 100, 400, 400);window.show();return app.exec();
}

这个应该是解决序列文件读取比较好的方式,每次读取只需要把scrollableWidget delete就好了,由对象树机制直接剔除所有的子控件,在新的Load中重新构造scrollableWidget并导入即可。

测试项目

输入20个Label
在这里插入图片描述
删除20个并输入10个
在这里插入图片描述
代码:

#pragma once#include <QtWidgets/QMainWindow>
#include <QtWidgets>
#include "ui_dcmimgpro.h"class DcmImgPro : public QMainWindow
{Q_OBJECTpublic:DcmImgPro(QWidget *parent = nullptr);~DcmImgPro();private:Ui::DcmImgProClass ui;
private slots:void pushbtn();void lineEditset();
private:int l_num = 15;
};class ScrollableWidget:public QWidget
{
public:ScrollableWidget(int numWidgets){QVBoxLayout* layout = new QVBoxLayout(this);for (int i = 0; i < numWidgets; i++){QWidget* widget = new QWidget;QString msg = "Label_" + QString::number(i);QLabel* label = new QLabel(msg);QVBoxLayout* widgetlayout = new QVBoxLayout(widget);widgetlayout->addWidget(label);layout->addWidget(widget);}};};
#include "dcmimgpro.h"DcmImgPro::DcmImgPro(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);ui.scrollArea->setWidgetResizable(true);ScrollableWidget* scrollableWidget = new  ScrollableWidget(l_num);ui.scrollArea->setWidget(scrollableWidget);connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(pushbtn()));connect(ui.lineEdit, SIGNAL(returnPressed()), this, SLOT(lineEditset()));}void DcmImgPro::pushbtn()
{ui.scrollArea->setWidget(nullptr);ScrollableWidget* scrollableWidget = new  ScrollableWidget(l_num);ui.scrollArea->setWidget(scrollableWidget);
}void DcmImgPro::lineEditset()
{l_num = ui.lineEdit->text().toInt();}
DcmImgPro::~DcmImgPro()
{}
http://www.yidumall.com/news/8110.html

相关文章:

  • 互联网网站开发的未来方向优化落实防控措施
  • 一个网站如何挣钱百度搜索优化怎么做
  • 运城做网站sem网络推广公司
  • 定制网站开发冬天里的白玫瑰谷歌广告联盟
  • 网站建设 用户管理湘潭营销型网站建设
  • 衡水专业网站建设公司网络推广seo怎么弄
  • 关于服饰搭配做的比较好的网站关键词排名seo
  • 新媒体运营需要哪些技能青岛seo排名扣费
  • 自己公司的网站怎么编辑石家庄高级seo经理
  • 推广做网站莱芜广州抖音seo公司
  • 公司注册地址备案流程郑州网站seo优化
  • 网站必须做公安部备案seo网络优化公司
  • 凡科微传单app软件下载国内专业seo公司
  • 昌平区事业单位公共知识培训网站百度推广官方
  • web网站开发介绍电商培训机构推荐
  • 如何设定旅游网站seo核心关键词广东深圳疫情最新
  • 企业官网响应式网站廊坊网络推广公司
  • 怎么查询网站是哪家公司做的搜索引擎推广文案
  • 新华区设计网站公司网络优化工程师工作内容
  • 做推广赚钱的网站外贸推广平台哪家好
  • 中文做英文网站抄袭东莞有哪些做推广的网站
  • 网站css样式下载网络营销的核心是
  • 上海做淘宝网站如何做网站营销推广
  • 后期网站网络推广平台公司
  • 龙岗企业网站建设济南网站seo公司
  • 室内设计培训班多少钱南京seo关键词排名
  • 如何建立起个人网站全球疫情最新数据统计
  • wordpress允许作者上传媒体seo分析
  • 做网站PV免费二级域名查询网站
  • 做网站开发的有哪些公司好重庆百度关键词优化软件