C++ Qt第一个简单应用

版权声明:zhaojanc https://blog.csdn.net/qq_38641985/article/details/84583543
安装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++写还是遇到了不少的问题,信号连接找了好多方法尝试才成功,还有中文编码的问题等等。

猜你喜欢

转载自blog.csdn.net/qq_38641985/article/details/84583543