安装Qt方法
安装准备:1. qt-win-opensource-4.8.4-mingw.exe
2. qt-creator-win-opensource-2.5.0.exe
3. MinGW-gcc440_1(非常重要,安装成功与否靠它了)
注意:这个Qt在XP和win7均能正常使用的!
开始安装
步骤一:
先把所有的压缩包解压出来,然后把MinGW-gcc440_1.zip解压出来的mingw文件包剪切到C盘根目录中(当然你解压的时候可以直接选择解压到C盘)。注意:一定要把它放在C盘根目录中,否则你是百分之一万是安装不成功的!
步骤二:
(1)点击qt-win-opensource-4.8.4-mingw.exe 进行安装,这是一个类库来的,下面就等一下吧!
(2)load完之后一直按next就行了。最后来到某个界面,你直接按install就行了,接着就是漫长的等待。注意:这个Qt所有的东西都要安装在C盘,不要随意更改路径,占你2G而已,否则的话可能安装不成功的,本人没有实验过,如果你有兴趣可以试一下。
步骤二:
(1)点击qt-creator-win-opensource-2.5.0.exe把creator安装了,其实这只是一个开发环境而已,简单来说就是一个编写代码的地方,就像visual C++ 6.0一样。其实不用这个环境,用VC2008也可以的,大家有兴趣可以尝试一下。
(2)还是那句话,直接按next,不要该路径,在最后的界面,不要把勾去掉,按finish,然后creator就启动了。
现在还不能用的,要设置一下环境变量。自己百度一下吧。
main.cpp
#include <QApplication>
#include "widget.h"
#include <QTextCodec>
/*void MyApplication::showMinimizedClick()
{
this->showMinimized();
}*/
int main(int argc, char *argv[])
{
QTextCodec *codec = QTextCodec::codecForName("GBK");//ַי¿צ2
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
widget.cpp
#include "widget.h"
#include <QtGui>
#include <QObject>
#include <QTextCodec>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
edit1 = new QLineEdit;
edit2 = new QLineEdit;
label1 = new QLabel;
label2 = new QLabel;
btn1 = new QPushButton;
btn2 = new QPushButton;
label1->setText(tr("姓名"));
label2->setText(tr("年龄"));
btn1->setText(tr("确定"));
btn2->setText(tr("取消"));
QVBoxLayout *layout_main = new QVBoxLayout(this);
QHBoxLayout *layout1 = new QHBoxLayout();
QHBoxLayout *layout2 = new QHBoxLayout();
QHBoxLayout *layout3 = new QHBoxLayout();
layout1->addWidget(label1);
layout1->addWidget(edit1);
layout2->addWidget(label2);
layout2->addWidget(edit2);
layout3->addWidget(btn1);
layout3->addWidget(btn2);
layout_main->addLayout(layout1);
layout_main->addLayout(layout2);
layout_main->addLayout(layout3);
//connect(btn1, &QPushButton::clicked, this, &Widget::showFileDialog);
connect(btn1, SIGNAL(clicked()), this, SLOT(showFileDialog()));
//QObject::connect(btn1,&QPushButton::clicked,this,&Widget::showFileDialog);
}
void Widget::showFileDialog()
{
// 获取打开的文件对话框中选中的文件的名称,getOpenFileName()函数
QString s = QFileDialog::getOpenFileName(this, "open file dialog", "/");
// 将获取到的名称添加到编辑框中
edit1->setText(s);
}
void Widget::clickedSlots2()
{
edit2->setText("333333333333");
}
Widget::~Widget()
{
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QLineEdit *edit1, *edit2;
QLabel *label1, *label2;
QPushButton *btn1, *btn2;
private slots:
void showFileDialog();
void clickedSlots2();
};
#endif // WIDGET_H
虽然用python写了很多的界面,但是用c++写还是遇到了不少的问题,信号连接找了好多方法尝试才成功,还有中文编码的问题等等。