ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

医学四视图-001-基本框架搭建

2021-08-25 15:59:14  阅读:177  来源: 互联网

标签:mSplitterMain Qt QSplitter 视图 ImageManage 001 ui include 搭建


头图

​ 本文将主要介绍医学四视图的基本布局。包括轴、矢、冠和3D显示窗口以及一个窗宽窗位调节窗口。

电梯

1 布局

​ 本模块是还是在ThirdVtk基础上添加一个模块,下图所示:

image-20210701152019961

​ 同时Qt版本更换为5.14.2,原来的版本不知道是我技术不行,还是有Bug,调用paintEvent函数的时候总是不给我绘制,开始一直以为是自己的问题,最后回家同步完代码后尝试发现正常。那个郁闷,基本一天啥都没有干,就瞅这几行代码了。

2 代码

2.1 imagemanage.h

#ifndef IMAGEMANAGE_H
#define IMAGEMANAGE_H

#include <QWidget>
#include <QSplitter>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QTextEdit>
#include <QResizeEvent>
#include "QVTKOpenGLWidget.h"               //新版本,旧版QVTKWidget
#include "vtkAutoInit.h"
namespace Ui {
class ImageManage;
}
class ImageManage : public QWidget
{
    Q_OBJECT
public:
    explicit ImageManage(QWidget *parent = nullptr);
    ~ImageManage();
    void setCurrentTab(int temp =0);
protected:
    void resizeEvent(QResizeEvent *event) override;
private:
    Ui::ImageManage *ui;
    QSplitter *mSplitterMain = nullptr;
    QSplitter *mSplitterVertical = nullptr;
    QSplitter *mSplitterUp = nullptr;
    QSplitter *mSplitterDown = nullptr;

};
#endif // IMAGEMANAGE_H

2.2 imagemanage.cpp

#include "imagemanage.h"
#include "ui_imagemanage.h"
#include <QtDebug>
ImageManage::ImageManage(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ImageManage)
{
    ui->setupUi(this);
    mSplitterMain = new QSplitter(Qt::Horizontal,this);
    mSplitterVertical = new QSplitter(Qt::Vertical,mSplitterMain);
    mSplitterUp = new QSplitter(Qt::Horizontal,mSplitterVertical);
    mSplitterUp->addWidget(ui->widget_1);
    mSplitterUp->addWidget(ui->widget_2);
    mSplitterUp->setStretchFactor(0,1);
    mSplitterUp->setStretchFactor(1,1);
    mSplitterDown = new QSplitter(Qt::Horizontal,mSplitterVertical);
    mSplitterDown->addWidget(ui->widget_3);
    mSplitterDown->addWidget(ui->widget_4);
    mSplitterDown->setStretchFactor(0,1);
    mSplitterDown->setStretchFactor(1,1);
    mSplitterMain->insertWidget(0,mSplitterVertical);
    mSplitterMain->insertWidget(1,ui->widget_5);
    mSplitterMain->setStretchFactor(0,1);               //很魔性啊
}

ImageManage::~ImageManage()
{
    delete ui;
}
void ImageManage::setCurrentTab(int temp)
{

}
void ImageManage::resizeEvent(QResizeEvent *event)
{
    Q_UNUSED(event);
    mSplitterMain->resize(this->size());
}

☞ 源码

源码链接:https://github.com/DreamLife-Jianwei/Qt-Vtk

使用方法:☟☟☟

源码


博客签名2021

标签:mSplitterMain,Qt,QSplitter,视图,ImageManage,001,ui,include,搭建
来源: https://blog.csdn.net/z609932088/article/details/119913192

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有