问题一:Dialog::Dialog(QWidget *parent):QDialog(parent)中的QDialog(parent)
答:http://blog.csdn.net/u011450537/article/details/42100029
派生类显示调用父类的构造函数,并传参,调用顺序是先调用父类构造函数,再调用派生类的构造函数,若不写,调用父类的默认构造函数。
问题二:setModal(true);
答:modal - 指定 dialog 是否阻止在显示的时候将内容输入其他窗口。也就是说,“有模式”意味着该窗口打开时其他窗口都被屏蔽了,你可以试试,在此情况下,点击程序的其他窗口是不允许的。
问题三:QMessageBox::critical(NULL,QObject::tr("数据库打开错误"),db.lastError().text()
critical()函数应用被用于保留严重错误,null父窗口,标题:数据库打开错误,数据库错误信息。
问题四:Qaction
QAction类提供了抽象的用户界面action,这些action可以被放置在窗口部件中。应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命令。由于用户期望每个命令都能以相同的方式执行,而不管命令所使用的用户界面,这个时候使用action来表示这些命令就显得十分有用。 Actions可以被添加到菜单和工具栏中,并且可以自动保持在菜单和工具栏中的同步。Actions可以作为独立的对象被创建,但是我们也可以在构建菜单的时候创建它们。
http://blog.csdn.net/chenlong12580/article/details/8872035
问题五:this指针
this指的是包含connect()的类的本身
问题六:mainLayout->addWidget(accessPushButton,2,0,1,1,Qt::AlignRight);
控件名,行,列,占用行数,占用列数,对齐方式
问题七:QSqlDatabase::database()函数则可以根据名字获取所需要的数据库连接。
http://www.cnblogs.com/findumars/p/5107637.html,名字不指定为默认名
问题八:emit发出信号,使用connect函数将信号槽进行连接,信号传输的过程有参数传递。
问题九:setPatternSyntax(QRegExp::RegExp)
QRegExp类实现了正则表达式的模式匹配。
问题十:QSqlQuery初始化,读取数据库。
http://blog.csdn.net/nicole_yaoyao/article/details/6015213
http://bbs.csdn.net/topics/391889511
问题十一:Qlabel的使用
http://blog.csdn.net/xgbing/article/details/7762331
问题十二:QHBoxLayout,QVBoxLayout
QBoxLayout可以在水平方向或垂直方向上排列控件,由QHBoxLayout、QVBoxLayout所继承。
QHBoxLayout:水平布局,在水平方向上排列控件,即:左右排列。
QVBoxLayout:垂直布局,在垂直方向上排列控件,即:上下排列。
问题十三:addStretch() 添加了一个伸缩空间(QSpacerItem)。
http://blog.csdn.net/liang19890820/article/details/51537246
问题十四: 原型:int pthread_create((pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
用法:#include
功能:创建线程(实际上就是确定调用该线程函数的入口点),在线程创建以后,就开始运行相关的线程函数。
说明:thread:线程标识符;
attr:线程属性设置;
start_routine:线程函数的起始地址;
arg:传递给start_routine的参数;
返回值:成功,返回0;出错,返回-1。
问题十五:函数定义: int pthread_join(pthread_t thread, void **retval);
描述 :pthread_join()函数,以阻塞的方式等待thread指定的线程结束。当函数返回时,被等待线程的资源被收回。如果线程已经结束,那么该函数会立即返回。并且thread指定的线程必须是joinable的。
参数 :thread: 线程标识符,即线程ID,标识唯一线程。retval: 用户定义的指针,用来存储被等待线程的返回值。
返回值 : 0代表成功。 失败,返回的则是错误号。
问题十六:回调函数
http://blog.csdn.net/xiabodan/article/details/47999411
异步调用通过回调函数实现,异步调用与多线程是不同的概念
http://www.doc88.com/p-218794614153.html
问题十七:并发
实现并发技术相当复杂,最容易理解的是“时间片轮转进程调度算法”,它的思想简单介绍如下: 在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(比如10毫秒),这样用户根本感觉不出来CPU是在轮流为多个进程服务,就好象所有的进程都在不间断地运行一样。但实际上在任何一个时间内有且仅有一个进程占有CPU。如果一台计算机有多个CPU,情况就不同了,如果进程数小于CPU数,则不同的进程可以分配给不同的CPU来运行,这样,各个进程就是真正同时运行的,这便是并行。但如果进程数大于CPU数,则仍然需要使用并发技术。
问题十八:qtimer
http://blog.csdn.net/liang19890820/article/details/51789796
问题十九:qimage
Qt中QImage类封装了对于一般图像像素级的操作,图像显示则使用QPixmap。
http://blog.csdn.net/imxiangzi/article/details/49964705
问题二十:query->next()query->value(0)
http://www.kuqin.com/qtdocument/qsqlquery.html#next
问题二十一:拦截QT关闭窗口的CloseEvent()解析
http://blog.csdn.net/bzhxuexi/article/details/25055233
问题二十二:paintEvent(QPaintEvent *)
问题二十三:QTableView常用于实现数据的表格显示
http://blog.sina.com.cn/s/blog_4ba5b45e0102e976.html
问题二十四:QT数数据库Mysql中 QSqlQuery、QSqlQueryModel 、和QSqlTableModel的区别
QSqlQuery可以用来执行SQL语句和获得执行结果的。
QSqlQueryModel提供了一个sql查询结果的只读数据模型。它从查询QSqlQueryModel获取数据。可以方便的用于在QListView, QTableView, QTreeView等各种view上展示数据。但它是只读的,不能编辑。
QSqlTableMode继承于QSqlQueryModel,与QSqlQueryModel功能相似,比QSqlQueryModel的限制在于不能是任意sql语句,只是对单个数据表操作,拓展在于在各种view上展示表格数据的同时,还允许用户进行编辑操作。