C++
文章平均质量分 64
酷黑9583
这个作者很懒,什么都没留下…
展开
-
QT:A画面调用B画面
今天,研究了下,QT中是怎么实现主窗口调用子窗口的。其实就是用信号与槽机制。你想通过MENU调用子窗口就用QACTION绑定个槽调用;想通过按钮点击弹出窗口那就绑定信号click与你的自定义槽来实现调用。但是但是!不能直接声明对象,只能用指针对象。比如test t; t.show();和t = new test(NULL); // t为指针对象,已经在.h中声名 t->show();前者不行...原创 2018-05-09 15:56:22 · 428 阅读 · 0 评论 -
将QStringlist设置为静态变量,初始化问题
初学QT,今天发现将一些自带的QT类型声明称静态以后(例如QStringlist),无法初始化的情况。静态变量如果不初始化,直接使用的话,编译器就会提示LINK错误。即提示,无法解析的外部符号。那么如何使用这类静态变量呢,其实在QT creator中,只需要在.cpp中声明一次就行,可以不用初始化。例如:class checkall : public QWidget { // 头文件.h ...原创 2018-05-09 16:07:11 · 6891 阅读 · 0 评论 -
简单的C++高并发安全队列
普通双锁队列, 当判断是不是首尾相同时(即队列是不是为空),还是会 既加头锁又加尾锁。好在有聪明人早在96年就想到了一个更妙的算法。这个算法也是用了head和tail两个锁,但是它有一个关键的地方是它在队列初始化的时候head和tail指针不为空,而是指向一个空节点。在enqueue的时候只要向队列尾部添加新节点就好了。而dequeue的情况稍微复杂点,它要返回的不是头节点,而是head->...原创 2019-07-30 21:54:37 · 596 阅读 · 0 评论