电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

windows7下安装QT


发布日期:2023/10/20
 

首先到QT网站上下载qt安装文件Qt_SDK_Win_offline_v___enexe(G)安装我的目录是C:\ProgramData\Qt

然后下载一个qtwinopensourcemingw(M左右)assistantexe(我在ubuntu上用惯了其实qtcreate里面也有这东西不过没有这个来的爽快…)安装目录C:\ProgramData\Qt\然后我又下载了一个mingw(到sourceforge上下载安装目录C:\ProgramData\Qt\mingw\mingw 这个也许不要不过安装都已经安装了不知道是不是必要的……)

这时候可能会提示找不到g++不管继续安装

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

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

QMAKESPEC wing++

QTDIR C:\ProgramData\Qt\

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

如果一切ok可以在d盘下新建一个目录测试

cd /d d: (这个win就是很贱非要加上一个选项/d)

cd test

建立一个clockcpp文件一个clockh文件内容如下面三个文件

在命令行输入

qmake project

qmake

make

然后就可以执行生成的文件testexe了还有如果不执行上面的环境变量会造成在qtcreate里面可以编译成功但是如果你直接到目录下找到那个exe文件执行时候会提示找不到 wingwdll(妈的可恨本文也是主要解决这个问题来着)……

cd debug

testexe

最终效果是

//clockh

#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=

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

//clockcpp

#includeclockh

Clock::Clock(QWidget * parent)QDialog(parent)

{

init()

layout()

clock_connect()

}

void Clock::init()

{

setWindowTitle(Clock//设置标题

setFixedSize(QSize())//固定大小

timer=new QTimer;//控制lcd的时间刷新

lcdNumber=new QLCDNumber;//显示当前时间

lcdNumber>setFixedSize(QSize())//固定大小

lcdNumber>setNumDigits(//显示八个数字默认是显示个数字

lcdNumber>display(QTime::currentTime()toString(hh:mm:ss))//设置格式还有其他形式的

button=new QPushButton(Quit

trayIcon=new QSystemTrayIcon;

trayIcon>show()

trayIcon>setIcon(QIcon(/images/qmeico))

restoreAct=new QAction(QString::fromLocalBit(Show Clockthis) //先定义然后在被trayIcon引用……

quitAct=new QAction(QString::fromLocalBit(Quitthis)

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(

button>resize(

button>show()

};

void Clock::clock_connect()

{

connect(timerSIGNAL(timeout())thisSLOT(clockChange()))

timer>start(

connect(buttonSIGNAL(clicked())thisSLOT(mini()))

};

// **************

// 显示变化的时间

// **************

void Clock::clockChange()

{

lcdNumber>display(QTime::currentTime()toString(hh:mm:ss))

}

void Clock::mini()

{

hide()

}

void Clock::closeEvent(QCloseEvent *event)

{

QMessageBox::information(QuitAre you sure exit the Application!

}

//end

//maincpp

#includeclockh

#include<QApplication>

int main(int argcchar *argv[])

{

QApplication app(argcargv)

Clock clock;

clockshow()

return appexec()

};

//end

上一篇:系统进程管理

下一篇:如何制定良好的Windows补丁更新管理机制