win7下qt安装及测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1,先下载最新版的Qt Creator :
/downloads/qt-creator-binary-for-windows 我的版本qt-creator-win-opensource-2.4.1
双击安装,默认c:\Qt\,我也是。
2、在下载 SDK
/downloads/windows-cpp
我的版本qt-win-opensource-4.8.1-mingw
双击安装,默认c:\Qt\
指定mingw 在Qtcreator的mingw目录。
安装完如下:
3、设置环境变量:
我的电脑—属性—高级—环境变量,打开,在***用户(U)添加三条如下:
PATH
c:\Qt\qtcreator-2.4.1\mingw\bin;c:\Qt\4.8.1\bin
QMAKESPEC
c:\Qt\4.8.1\mkspecs\win32-g++
QTDIR
c:\Qt\4.8.1
附图:
弄完后重启或注销一下
4、打开qt终端,执行命令检查是否成功:在命令行模式下分别输入输入gcc –v
make –v
Qmake-v看看能否找到
附图:
表明成功了,可以写程序了。
5,、简单程序:
如果一切ok,可以在d盘下新建一个目录测试
cd /d d: (这个win7就是很贱非要加上一个选项/d)
cd test
建立一个clock.cpp文件一个clock.h文件,内容如下面三个文件在命令行输入
qmake -project
qmake
make
然后就可以执行生成的文件test.exe了,还有如果不执行上面的环境变量会造成在qtcreate里面可以编译成功但是如果你直接到目录下找到那个exe文件执行时候会提示找不到wingw10.dll(妈的可恨,本文也是主要解决这个问题来着)...............................
cd debug
test.exe
最终效果是:
//clock.h
#ifndef CLOCK_H
#define CLOCK_H
#ifndef ALARM_H
#define ALARM_H
#include<QApplication>
#include<QTimer>
#include<QLCDNumber>
#include<QLabel>
#include <QVariant>
#include<QTimeEdit>
#include<QPushButton>
#include<QDialog>
#include <QMessageBox>
#include<QSystemTrayIcon>
#include<QAction>
#include<QMenu>
class Clock:public QDialog
{
Q_OBJECT
public:
Clock(QWidget * parent=0);
void init();
void layout();
void clock_connect();//connect
void closeEvent(QCloseEvent *event); public slots:
void clockChange();
void mini();
private:
QTimer * timer;
QLCDNumber * lcdNumber;//显示当前时间QPushButton *button;
QSystemTrayIcon *trayIcon;
QAction * restoreAct;
QAction * quitAct;
QMenu * trayIconMenu;
//QRect rect;
};
#endif
#endif // CLOCK_H
//clock.cpp
#include"clock.h"
Clock::Clock(QWidget * parent):QDialog(parent) {
init();
layout();
clock_connect();
void Clock::init()
{
setWindowTitle("Clock");//设置标题
setFixedSize(QSize(200,60));//固定大小
timer=new QTimer;//控制lcd的时间刷新
lcdNumber=new QLCDNumber;//显示当前时间
lcdNumber->setFixedSize(QSize(150,50));//固定大小
lcdNumber->setNumDigits(8);//显示八个数字,默认是显示5个数字
lcdNumber->display(QTime::currentTime().toString("hh:mm:ss"));//设置格式,还有其他形式的
button=new QPushButton("Quit");
trayIcon=new QSystemTrayIcon;
trayIcon->show();
trayIcon->setIcon(QIcon("./images/qme.ico"));
restoreAct=new QAction(QString::fromLocal8Bit("Show Clock"),this); //先定义然后在被trayIcon引用..... quitAct=new QAction(QString::fromLocal8Bit("Quit"),this);
trayIconMenu=new QMenu;
trayIconMenu->addAction(restoreAct);
trayIconMenu->addAction(quitAct);
trayIcon->setContextMenu(trayIconMenu);
void Clock::layout()
{
lcdNumber->setParent(this);
lcdNumber->show();
button->setParent(this);
button->move(160,10);
button->resize(30,20);
button->show();
};
void Clock::clock_connect()
{
connect(timer,SIGNAL(timeout()),this,SLOT(clockChange())); timer->start(1000);
connect(button,SIGNAL(clicked()),this,SLOT(mini()));
};
// **************
// 显示变化的时间
// **************
void Clock::clockChange()
lcdNumber->display(QTime::currentTime().toString("hh:mm:ss"));
}
void Clock::mini()
{
hide();
}
void Clock::closeEvent(QCloseEvent *event)
{
QMessageBox::information(0,"Quit","Are you sure exit the Application!"); }
//end
//main.cpp
#include"clock.h"
#include<QApplication>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
Clock clock;
clock.show();
return app.exec(); };
//end。