Qt图形和线程编程快速上手
来源:互联网 发布:vue v bind 数组 编辑:程序博客网 时间:2024/04/30 11:17
QtCreator
一、创建UI文件:
1创建并初始化子窗口部件
2.把子窗口部件放到布局中
3.设置Tab键顺序
4.建立信号-槽之间的连接
5.实现对话框中的自定义槽
保存为gotocell.ui
Qt中的内建的对话框
QMessageBox
QColorDialog
QFileDialog
QErrorDialog
二、QT使用设计文件有三种方式:
直接使用
单一继承方式
多继承方式
将ui文件加入到工程,然后建立gotocell.h和gotocell.cpp
自己创建一个新类让其从QDialog和Ui::GoToCellDialog中继承出来:建立gotocelldialog.h文件,并由它实现一些功能:
#ifndefGOTOCELLDIALOG_H
#defineGOTOCELLDIALOG_H
#include
#include"ui_gotocelldialog.h"
class GoToCellDialog:publicQDialog,public Ui::GoToCellDialog
{
public:
private slots:
};
#endif //GOTOCELLDIALOG_H
在源文件中:
#include
#include"gotocelldialog.h"
GoToCellDialog::GoToCellDialog(QWidget *parent)
{
}
在mian中
#include
#include
//#include"ui_gotocelldialog.h"
#include"gotocelldialog.h"
int main(int argc, char*argv[])
{
}
三、信号和槽
一个槽就相当于一个函数,槽函数即可与信号关联,也可当普通函数直接调用
bool QObject::connect ( constQObject * sender, const char * signal, const char * method,Qt::ConnectionType type = Qt::AutoConnection ) const
例如:connect(ui.comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(do_combox_change()));
四、多线程:
QT中使用线程,只需要继承QThread类并实现其run()函数,
class myThread : publicQThread
{
Q_OBJECT
protected:
};
void MyThread::run()
{……}
只需在run()函数中填写所需的功能代码,然后创建一个MyThread实例,并以QThread::start()函数启动这个实例即可。这样run()函数中功能代码就运行在一个独立的线程中了。
Run()函数实际是个死循环。
要编译此应用还需要在.pro中加入一行
CONFIG +=thread
使用QMutex类的lock函数用来锁住互斥量,unlock用来解锁
QT中的信号量是由QSemaphore类提供的,互斥量只能锁定一次而信号量可以获取多次,它可以用来保护一定数量的同种资源。acquire(n)用于获取n个资源,当没有足够的资源时调用者将被阻塞,直到有足够的可用资源,release(n)可释放n个资源,tryAcquire(n)在没有足够资源时立即返回。
- Qt图形和线程编程快速上手
- Python 编程快速上手
- python编程快速上手
- 快速上手MySQL - 图形化操作详解
- 快速上手MySQL图形化操作详解
- 快速上手MySQL-图形化操作详解
- 快速上手MySQL-图形化操作详解
- Android数据库编程快速上手
- Shell脚本编程快速上手
- 快速上手和使用makefile
- Qt Quick学习笔记之Qt开发环境快速上手
- 快速上手 MySQL --图形化操作详解
- 快速上手 MySQL --图形化操作详解
- [转]快速上手 MySQL --图形化操作详解
- 快速上手 MySQL --图形化操作详解
- 快速上手 MySQL --图形化操作详解
- 快速上手 MySQL --图形化操作详解(转贴)
- 快速上手--图形化操作详解
- wordpress数据库搬家
- NSString拼接字符串
- vsftp.conf配置示例
- vsftp虚拟用户配置示例
- VS2010+opencv安装配置
- Qt图形和线程编程快速上手
- U788ROOT及刷机包--移动定制版中兴…
- OpenCV计算二值图像周长面积
- QT实现对文件的操作
- QT图片资源的加载与使用
- svm应用范例,采用svm实现图片的分…
- Opencv写视频文件
- QT中字符串的比较
- 【原】mmap方法实现物理内存…