下面是我的代码,运行之后窗口没出来,直接让我中断程序
#include "mydialog.h"
#include
#include
#include
#include
#include
#include
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent)
{
comboBox = new QComboBox(this);
comboBox->resize(200, 20);
QPixmap icon1(":/new/ico/images/图像类型选择.jpg");
comboBox->addItem(icon1, "图像类型选择");
QPixmap icon2(":/new/ico/images/原始图像.jpg");
comboBox->addItem("原始图像");
QPixmap icon3(":/new/ico/images/JPEG编码后图像.jpg");
comboBox->addItem("JPEG编码后图像");
QPixmap icon4(":/new/ico/images/重构信号.jpg");
comboBox->addItem("重构信号");
QPixmap icon5(":/new/ico/images/重构信号JPEG编码图像.jpg");
comboBox->addItem("重构信号JPEG编码图像");
//设置列表框中选项的图标
comboBox->setItemIcon(1, icon2);
comboBox->setItemIcon(2, icon3);
comboBox->setItemIcon(3, icon4);
comboBox->setItemIcon(4, icon5);
//当下拉列表框中的项重新选择时 产生一个currentIndexChanged(int index)信号 弹出一个消息框提示你重新选择了哪一项
connect(comboBox, SIGNAL(currentIndexChanged(int)), label, SLOT(onChanged(int index)));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(comboBox);
layout->addWidget(label);
setLayout(layout);
}
void MyDialog::onChanged(int index)
{
label=new QLabel("",0);
QImage img;
switch(index){
case 1:img.load("E:/image/1.jpg");break;
case 2:img.load("E:/image/2.jpg");break;
case 3:img.load("E:/image/3.jpg");break;
case 4:img.load("E:/image/4.jpg");
}
QPixmap mp;
mp = mp.fromImage(img);
label->setPixmap(mp);
}