win7下QT安装....

首先到QT网站上下载qt安装文件Qt_SDK_Win_offline_v1_1_3_en.exe(1.4G)安装我的目录是C:\ProgramData\Qt 然后我又下载了一个mingw(到sourceforge上下载安装目录C:\ProgramData\Qt\mingw 这个也许不要,不过安装都已经安装了,不知道是不是必要的.....)


安装完毕调整环境变量添加:

PATH   C:\ProgramData\Qt\bin\;C:\ProgramData\Qt\mingw\bin\;


(  到mingw\bin目录中修改mingw-make为make,其实那个qmake已经安装到了qt目录中地址为,这个到qtcreator的配置中就可以看到目录为C:\ProgramData\Qt\Desktop\Qt\4.8.1\mingw\bin


为什么要这么费劲的弄这些环境变量呢,我感觉直接在qtcreator里面新建工程然后就不知道怎么弄了还是通过三步骤(qmake -project,qmake ,make比较爽)


QMAKESPEC  win32-g++

QTDIR   C:\ProgramData\Qt\(这两个其实没必要,这个没测试)


 

OK然后注销或者重启在命令行模式下分别输入输入  gcc make qmake看看能否找到

 

 

如果一切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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值