源码下载地址:
http://cid-620792b9d0909341.office.live.com/self.aspx/.Public/src/嵌入资源到EXE%20文件.rar
新建E:/t/t.qrc
注意:images/icon.png 是相对.qrc 文件所在目录来说的
//
// t.qrc
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/icon.png</file>
</qresource>
</RCC>
//
加入E:/t/images/icon.png
将t.qrc 加入工程 ->属性 ->自定义生成步骤 ->命令行 rcc -name t ./t.qrc -o ./src/qrc_t.cpp
F7 得到qrc_t.cpp,加入工程
加入E:/t/src/main.cpp
//
// main.cpp
#include <QApplication>
#include <QLabel>
#include <QBoxLayout>
#include <QLineEdit>
#include <QCheckBox>
#include <QPushButton>
#pragma comment(lib, "QtCore4.lib")
#pragma comment(lib, "QtGui4.lib")
int main(int argc, char **argv)
{
QApplication *app = new QApplication(argc, argv);
QWidget *widow = new QWidget();
QLabel *label = new QLabel("Find &what");
QLineEdit *lineEdit = new QLineEdit();
QHBoxLayout *layout = new QHBoxLayout();
QHBoxLayout *mainLayout = new QHBoxLayout();
QVBoxLayout *leftLayout = new QVBoxLayout();
QVBoxLayout *rightLayout = new QVBoxLayout();
QCheckBox *checkBox_matchCase = new QCheckBox("&Match Case");
QCheckBox *checkBox_Backward= new QCheckBox("Find &Backward");
QPushButton *button_find = new QPushButton("&Find");
QPushButton *button_close = new QPushButton("&Close");
label->setBuddy(lineEdit);
layout->addWidget(label);
layout->addWidget(lineEdit);
leftLayout->addLayout(layout);
leftLayout->addWidget(checkBox_matchCase);
leftLayout->addWidget(checkBox_Backward);
rightLayout->addWidget(button_find);
rightLayout->addWidget(button_close);
rightLayout->addStretch(); // 对齐
mainLayout->addLayout(leftLayout);
mainLayout->addLayout(rightLayout);
button_find->setEnabled(false);
widow->setLayout(mainLayout);
widow->setWindowIcon(QIcon(":/images/icon.png")); // 取已嵌入EXE 的资源图片
QObject::connect(button_close, SIGNAL(clicked()), app, SLOT(quit())); // 响应退出信号
widow->show();
app->exec();
}
//