qt+vs[基础控件介绍一]
2015-11-27 10:12
411 查看
通过对我们实验室的项目中qt的使用,来介绍qt的相关知识。首先从界面里的控件开始讲起。1.让vs显示代码的行号:基于上面的问题,我们可以做这样的设置:点击菜单栏的"工具"-->"选项",弹出选项窗体-->标上选项窗体左下方的"显示所有设置"-->选择左方的"文本编辑器"-->选中"所有语言"-->把右方显示下"行号打上对勾",点击"确定"即可。2.源文件,头文件的树形结构view->solution explorer就可以显示这是我写的工程页面,现在从上到下介绍控件,在后面的文章中,会继续更新槽函数等内容。1.窗口的工具栏可以用QToolBar 加入,也可以用designer来做,我是在designer上设计的,通过下面的语句在代码中进行引用。
<span style="font-size:18px;">ui->setupUi(this); ui->actionNew</span>2.窗体部分,QDockWidget、QSplitter、布局控件QBoxLayout 等控件及其相应属性。左边是一个树形结构用来显示文件,右面一个主窗口显示和一个显示list的photos窗口,在bottom位置放一个status窗口。
<span style="font-size:18px;"> ui->setupUi(this); setWindowState(Qt::WindowMaximized);//这是初始窗口最大化
<span style="font-size:18px;"> /*******显示汉字********/QTextCodec *codec = QTextCodec::codecForName("GB2312");QTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCStrings(codec);QTextCodec::setCodecForTr(codec); </span>左右各有一个窗体,里面需要分成两个可拉伸的部分,这里使用Qsplitter,对于两个部分,我们使用函数setStretchFactor()来实现比例
<span style="font-size:18px;">splitterM->setStretchFactor(splitterM->indexOf(topTabWidget),1);</span>
<span style="font-size:18px;"></span>我使用了QDockWidget来做一个子窗口,这个窗口很好用,可以嵌套在其他的widget中,也可以把其它控件放在里面。做子窗口的嵌套很好用,在网上查了很久也发现有人用这个控件,真是很奇怪。QDockWidget继承自QWidget,所以setMinimumHieght、addWidget等属性都有
<span style="font-size:18px;">最后QMainWindow里面用addDockWidget(位置,控件名)。</span>
<span style="font-size:18px;"></span>
<span style="font-size:18px;">我重写了QTreeView和QList.自定义的部分在后续介绍</span>线程的使用 QThread1.QThread 有自己的信号机制,而QThreadpool是没有的。继承QThread 然后实现run()方法,就可以使用多线程2.我使用多线程来加载图片,在线程里,使用opencv来读入内存,并用QImage来获得缩略图。图片张数较多,数据量大,需要对同时开的线程总量做限制可以使用信号量QSemphore,网上或者API 上都有很多,生产者、消费者的使用方法。我只有一种性质的线程,使用
QSemphore(10);QSemphore.acquire();//线程开始,消耗一个QSemphore.release();//线程结束,释放一个就可以控制了。
相关文章推荐
- arm上打开摄像头
- Qt 将excel表添加到另一个表后面
- Qt:postEvent 与 customEvent() 函数 进行异步通信; 以及参数的传递 // 防止界面卡死;;
- 加快QT工程编译速度
- qt绘图相关的基础知识
- Qt5 程序启动画面动图效果
- QT学习 之 三维饼图绘制
- Qt5 程序启动画面图片效果
- Qt5.5.1 学习笔记
- ros用rqt_graph显示节点关系、rqt_plot显示数据流、rqt_console显示节点的输出、rqt_logger_level
- VS2010和QT中编码不一样
- Qt树形控件QTreeView使用1——节点的添加删除操作
- QT学习 之 QwtPlot(数学绘图)
- UFT/QTP的工作原理
- Qt中库函数的隐式调用与显式调用
- 解决"应用程序无法启动,因为应用程序的并行配置不正确"的问题(VS2008 + qt)
- 搭建MQTT协议环境
- QtMainWindow菜单的使用
- qt中文乱码问题
- qt程序打包