windows7下安裝QT

來源:互聯網
上載者:User

首先到QT網站上下載qt安裝檔案Qt_SDK_Win_offline_v1_1_3_en.exe(1.4G)安裝我的目錄是C:\ProgramData\Qt

然後下載一個qt-win-opensource-4.7.4-mingw(300M左右)assistant.exe(我在ubuntu上用慣了,其實qtcreate裡面也有這東西,不過沒有這個來的爽快...)安裝目錄C:\ProgramData\Qt\然後我又下載了一個mingw(到sourceforge上下載安裝目錄C:\ProgramData\Qt\mingw\mingw 這個也許不要,不過安裝都已經安裝了,不知道是不是必要的.....)

這時候可能會提示找不到g++不管繼續安裝

安裝完畢調整環境變數添加:

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.