简介

  依靠某网站检索过许多QT的学习教程,但是,使用Designer编程的确实太少了,大多数学习教程都是通过代码实现的,所以,对于小白而言,学习最简单的往往不是最明智的选择,资料最多的才是最容易学习的。

目的介绍

  想要写一个界面程序,哪怕再简单,也得有文件读取/写入的功能,手动输入一个超级长的路径是不显示的,因此,为了能更方便的实现读写的功能,结合现用的程序,提出需要满足的功能:只要鼠标点击,能弹出一个文件管理器的窗口,可以根据此窗口,选择进入或退出当前文件夹,并能根据需求,显示某一个或几个后缀名的文件,通过双击实现读取功能。目标很简单,因为这是目前为止最为常见的文件选取方式,所以,我也得能实现,所幸,Qt中的文件管理类很好,只需要进行简单的调用即可。

头文件

  由于是第一章,所以在这里介绍下Qt的头文件:A. 需要在VS的扩展中安装QtPackage这个扩展,有些地方说没必要安装,但在我的机器上,不安装此扩展编译通不过; B.Designer不需要在*.h/cpp中添加头文件,但若要用代码实现某些功能,就需要包含对应的头文件了;C. 根据目前掌握的用法,Qt头文件可以分为两种,其中的区别目前我也没有理解透,只能说是凭借记忆与应用的方便性进行区分。以PushButton这个控件为例子,其头文件名有两种:#include <QPushButton>#include <qpushbutton.h>,我比较喜欢第一种,很简单,因为控件pushbutton的类名就是QPushButton,这样的话也方便记忆:

#include <QPushButton> //按钮
#include <QLineEdit> //路径显示
#include <QDir> //文件相关
#include <QFileInfoList> //文件列表信息
#include <QProcess>
#include <QListWidgetItem>
#include <QGridLayout>
#include <QFileDialog>

  需要建立私有成员与槽函数:

    //*.h
    //打开文件专用
    QPushButton *fileBtn; //button按钮
    QLineEdit *fileLineEdit; //显示文件路径
    QGridLayout *mainLayout; //界面布置,尚未看使用说明

    private slots:
        void showFile(); //显示文件信号/槽函数

  实现函数:

//读取文件专用
    fileBtn = new QPushButton("Open", this);
    fileLineEdit = new QLineEdit(this);
    fileLineEdit->setGeometry(350, 650, 100, 50);
    fileBtn->setGeometry(150, 650, 100, 50);
    fileBtn->setFont(QFont("Times", 18, QFont::Bold));

    mainLayout = new QGridLayout(this);
    mainLayout->addWidget(fileBtn, 0, 0);
    mainLayout->addWidget(fileLineEdit, 0, 1);

    connect(fileBtn, SIGNAL(clicked()), this, SLOT(showFile()));

//showFile()函数
void learn1::showFile()
{
    QString s = QFileDialog::getOpenFileName(this, "open file dialog", "/", "C++ file(*.cpp)::C files(*c)::Head files(*.h)");
    fileLineEdit->setText(s);
}

琼筵醉月
12 声望11 粉丝

引用和评论

0 条评论