简介
依靠某网站检索过许多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);
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。