1.界面布局与界面元素类名
通过按住ctrl然后点击控件可以将它们放在一起.然后按ctrl+h或者l是水平布局或者垂直布局
布局与布局之间可以叠加
在设计界面中右侧修改类名
2.向导文件
1.通过向导生成的文件默认创建一个界面.一个界面ui对应一个类
2.如widget继承Qwidget,mainwindow继承qmainwindow
3.在该类头文件中定义该类名和相应的命名空间. 类定义, 成员函数(包括槽函数,信号函数),成员属性. 一般将所需要的头文件放在该头文件中包含
4.源文件中以类名命名的cpp文件是该类的函数结构如构造函数,析构函数, 其他各种函数的定义
5.源文件中的main.cpp是main函数所在的地方. 主窗口界面和qt主程序对象在main函数中定义
6.如果是多个窗口程序需要创建多个界面类, 如主类是mainwindow, 还有一些dialog, widget
对新增的窗口新增该窗口头文件,类源文件,ui文件. 通过mainwindow调用创建实例并显示
例如一个程序中需要显示一个dialog,在相应槽函数(触发函数)中创建并显示是一个思路
3.QString 类
该类是qt的字符串类
方法:
重载: QString & append ( const QString & str ),QString & append ( const char * str ) ....
int toInt ( bool * ok = 0, int base = 10 ) const
去除空格trimmed (
静态函数:
QString number ( long n, int base = 10 )
4.QProcess 类
启动一个进程:
QProcess *process=new QProcess;process->start (procName.trimmed ());
5.QLineEdit
方法:清空 clear ()
获取文本: text()
设置文本: setText()
信号函数:
textChanged
6.QMessageBox
静态函数:错误:critical()
信息:information()
7.QcomboBox
方法:
获取当前索引: 信号函数:currentIndexChanged
8.QFile 和 QFileDialog 和QDir 和QTextStream QIODevice
QFile 方法:setFileName open(打开方式,QIODevice::ReadOnly) close()
QTextStream ts(file) 由QFile实例 构造
方法:readAll
QFileDialog:: 静态函数getOpenFileName
QIODevice::WriteOnly
QIODevice::ReadOnly
9.QDir
QDir::rootPath ()
10.QFont, QFontDialog
字体选择器
QFontDialog::getFont 返回类型QFont 通过 其他ui设置该字体对象
11.QColor QColorDialog
颜色选择器
QColorDialog::getColor (Qt::red,this)
QColor 返回类型
对象方法:isValid
13.QDesktopServices 和QPixmap 和QSplashScreen QUrl
打开网页
对 QDesktopServices : 静态方法QDesktopServices::openUrl(QUrl("http://www.cnblogs.com/freesec/", QUrl::TolerantMode));
QDesktopServices::storageLocation (QDesktopServices::PicturesLocation) 用于返回当前用户图片路径, 设置获取目录默认参数
14.QCloseEvent
类函数中声明void closeEvent(QCloseEvent *event);然后定义
声明了后就可以在该函数中控制event . 这个是程序事件对象指针如点击x关闭程序时将调用该函数,event就表示了这次事件
ignore()忽略这次事件
accpt()接受事件 默认
15QTimer
申明指针对象后
start(1000/5) 启动这个定时器每1000/5毫秒 触发timeout()信号函数
信号函数:timeout()
方法:stop()关闭计时器
16.QPixmap
QPixmap::grabWindow (QApplication::desktop()->winId ())
方法:图片随窗口缩放scaled (ui->cut_pic->size()) 根据label大小缩放
参数是窗口句柄
label设置图片:setPixmap() 参数是QPixmap 实例对象
17.QDesktopWidget
18.QClipboard
在剪切板中创建图片
QClipboard* board=QApplication::clipboard();
board->setPixmap (this->pixmap);
19.QContextMenuEvent
在某个ui类中申明该函数,当右击时就会触发该函数用于创建右击菜单
contextMenuEvent (QContextMenuEvent *event)
20.QMenu QAction QCursor
创建菜单:
创建菜单对象, action对象,设置 每个action的信号槽.
当前鼠标位置:QCursor::pos ()
QMenu* menu=new QMenu(this);
QAction* action=new QAction(this);
QAction* copy_action=new QAction(this);
QObject::connect (action,SIGNAL(triggered()),this,SLOT(savePicSlot()));
QObject::connect (copy_action,SIGNAL(triggered()),this,SLOT(copyPicSlot()));
action->setText ("save as");
copy_action->setText ("copy");
menu->addAction (action);
menu->addAction (copy_action);
menu->exec (QCursor::pos ());
21什么时候在类中声明对象指针, 声明对象实例?
一般需要在多处操作如 多个槽函数中都要访问的地方就声明为对象实例
一般需要在一处使用,用完就可以不用了, 就用指针类型, 通过动态内存分配对象. 用完需要delete
22.选择控制台项目
包含QCoreApplication,一个cpp头文件
QFileInfo
QDir absoluteDir () const
QString absoluteFilePath () const
QString absolutePath () const
23. fileinfo
QFileInfo info(file);构造函数通过QFile对象实例化
方法:fileName () 获取文件名
created ().toString ("yyyy-mm-dd hh-mm-ss") 获取创建时间并转换为字符串格式
lastModified () 和上面的类似
lastRead()
未完待续....