关于QT tree-widget控件的使用以及触发子节点事件!

直接上代码:创建代码

QTreeWidgetItem *imageItem1 = new QTreeWidgetItem(ui->treeWidget,QStringList(QString("节点")));
    imageItem1->setIcon(0,QIcon(":/img/Image/2.png"));
    QTreeWidgetItem *imageItem1_1 = new QTreeWidgetItem(imageItem1,QStringList(QString("子节点1"))); //子节点1
    imageItem1->addChild(imageItem1_1); //添加子节点
    imageItem1_1->setIcon(0,QIcon(":/img/Image/1.png"));
    QTreeWidgetItem *imageItem1_2 = new QTreeWidgetItem(imageItem1,QStringList(QString("子节点2"))); //子节点1
    imageItem1->addChild(imageItem1_2); //添加子节点
    imageItem1_2->setIcon(0,QIcon(":/img/Image/1.png"));

连接信号:

connect(ui->treeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,
            SLOT(showSelectedImage(QTreeWidgetItem*,int)));

设置信号:

if(item->parent()->text(in2)==" " && item->text(in2)=="  ")
            {
                QPluginLoader loader("Morphology_Filter.dll");
                if (!loader.load())
                {
                    return;
                }
                InatanceFace_morphology *plugin = qobject_cast<InatanceFace_morphology *>(loader.instance());
                if (plugin)
                {
                    //QMessageBox::about(NULL, QStringLiteral("显示插件信息"), plugin->name());
                     //plugin->creatPlugWidget()->show();
                    plugin->creat_Widget()->show();

                }
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt使用OpenGLWidget控件显示.tif图像,你可以按照以下步骤进行操作: 1. 确保你的项目已经包含了OpenGL模块。在Qt项目的.pro文件中添加以下行: ``` QT += opengl ``` 2. 创建一个自定义的OpenGLWidget子类,用于显示图像。首先,在项目中创建一个新的类文件,例如"ImageWidget.h"和"ImageWidget.cpp"。 3. 在ImageWidget.h文件中,定义一个继承自QOpenGLWidget的ImageWidget类,并重新实现以下方法: ```cpp #ifndef IMAGEWIDGET_H #define IMAGEWIDGET_H #include <QOpenGLWidget> #include <QOpenGLFunctions> #include <QImage> class ImageWidget : public QOpenGLWidget, protected QOpenGLFunctions { Q_OBJECT public: ImageWidget(QWidget *parent = nullptr); ~ImageWidget(); void setImage(const QString& imagePath); protected: void initializeGL() override; void paintGL() override; void resizeGL(int w, int h) override; private: QImage m_image; }; #endif // IMAGEWIDGET_H ``` 4. 在ImageWidget.cpp文件中,实现ImageWidget类的方法: ```cpp #include "ImageWidget.h" ImageWidget::ImageWidget(QWidget *parent) : QOpenGLWidget(parent) { } ImageWidget::~ImageWidget() { } void ImageWidget::setImage(const QString& imagePath) { m_image = QImage(imagePath); update(); } void ImageWidget::initializeGL() { initializeOpenGLFunctions(); } void ImageWidget::paintGL() { glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT); if (!m_image.isNull()) { glLoadIdentity(); glOrtho(0, width(), height(), 0, -1, 1); glRasterPos2i(0, 0); glPixelZoom(1, -1); glDrawPixels(m_image.width(), m_image.height(), GL_RGBA, GL_UNSIGNED_BYTE, m_image.constBits()); } } void ImageWidget::resizeGL(int w, int h) { glViewport(0, 0, w, h); } ``` 5. 在你的主窗口或其他需要显示图像的窗口中,使用ImageWidget控件,并调用setImage方法设置图像路径: ```cpp #include "MainWindow.h" #include "ui_MainWindow.h" #include "ImageWidget.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); ImageWidget* imageWidget = new ImageWidget(this); imageWidget->setImage("your_tif_image.tif"); ui->verticalLayout->addWidget(imageWidget); // 将ImageWidget添加到布局中 } MainWindow::~MainWindow() { delete ui; } ``` 请确保将"your_tif_image.tif"替换为实际的图像路径。这样,你就可以使用OpenGLWidget控件Qt中显示.tif图像了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值