QT中用label标签显示本地图片的方法

#define CIMAGE_H
#include<QtGui/QDialog>
#include<QLabel>

class QLabel;
class QLineEdit;
class QPushButton;

class CImage:public QDialog
{
    Q_OBJECT
public:
    CImage(QWidget *parent=0);
    virtual ~CImage() {}
private:
    QLabel *ImageLabel;
    QPushButton *ImageButton;
public slots:
    void IsertImage();
};

#endif // CIMAGE_H


#include <QtGui/QtGui>
#include <QMovie>
#include "CImage.h"

CImage::CImage(QWidget  *parent):QDialog(parent)
{
    ImageButton=new QPushButton(tr("浏览"));
    ImageLabel=new QLabel(tr("图片"));
    QVBoxLayout *vboxLayout=new QVBoxLayout;
    vboxLayout->addWidget(ImageLabel);
    vboxLayout->addWidget(ImageButton);
    setLayout(vboxLayout);

    connect(ImageButton,SIGNAL(clicked()),this,SLOT(IsertImage()));
     setWindowTitle(tr("图片预览"));
     resize(200,300);
}

void CImage::IsertImage()
{
    ImageButton=qobject_cast<QPushButton*>(sender());
    QString fileName=QFileDialog::getOpenFileName( this,
                                                    tr("打开文件"),
                                                    "/usr/local/Trolltech",
                                                    tr("任何文件(*.*)"
                                                    ";;文本文件(*.txt)"
                                                    ";;XML文件(*.xml)"
                                                    ";;Images (*.png *.xpm *.jpg)"));
    QMovie *move=new QMovie(fileName);

    ImageLabel->setMovie(move);
    move->start();
}


#include<QtGui/QtGui>
#include"CImage.h"

int main(int argc,char*argv[])
{
    QApplication app(argc,argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
    CImage dlg;
    return dlg.exec();
}

转载于:https://my.oschina.net/sanpi199274/blog/88652

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Qt中使用槽函数选择并显示图片文件的步骤: 1. 创建一个QPushButton控件,用于触发选择图片文件的操作。 2. 在QPushButton的clicked信号中连接一个槽函数,用于选择图片文件并显示。 3. 在槽函数中使用QFileDialog::getOpenFileName()函数打开一个文件选择对话框,让用户选择图片文件。 4. 如果用户选择了文件,则使用QPixmap::load()函数加载该文件,并将其显示在一个QLabel控件中。 下面是一个示例代码: ```cpp // 在类的头文件中定义以下成员变量和槽函数 private: QPushButton *m_selectBtn; // 选择图片文件的按钮 QLabel *m_imageLabel; // 显示图片标签 private slots: void on_selectBtn_clicked(); // 选择图片文件的槽函数 // 在类的构造函数中进行初始化 MyClass::MyClass(QWidget *parent) : QWidget(parent) { // 创建控件 m_selectBtn = new QPushButton(tr("Select Image"), this); m_imageLabel = new QLabel(this); // 连接信号和槽函数 connect(m_selectBtn, &QPushButton::clicked, this, &MyClass::on_selectBtn_clicked); } // 实现槽函数 void MyClass::on_selectBtn_clicked() { // 打开文件选择对话框 QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), "", tr("Image Files (*.png *.jpg *.bmp)")); // 如果用户选择了文件,则加载并显示图片 if (!fileName.isEmpty()) { QPixmap pixmap; pixmap.load(fileName); m_imageLabel->setPixmap(pixmap); } } ``` 在这个示例中,我们创建了一个QPushButton控件和一个QLabel控件,分别用于选择图片文件和显示图片。当用户点击选择按钮时,会触发on_selectBtn_clicked()槽函数,该函数使用QFileDialog::getOpenFileName()函数打开一个文件选择对话框,让用户选择图片文件。如果用户选择了文件,则使用QPixmap::load()函数加载该文件,并将其显示QLabel控件中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值