删除文章

确定要删除这篇文章吗?

取消
确定

QSortFilterProxyModel排序不正确

QSortFilterProxyModel排序不正确 客户端遇到的问题是当频繁的更新model时发现table上的行排序不正确,默认使用的是setDynamicSortFilter为true的方式。 在排除排序逻辑没有问题的情况下,能想到的方法是在model changed之后手动调用一下sort方法再重新排一下,但是这...
5个月前
阅读(237)

Qt什么时候用activateWindow

Qt什么时候用activateWindow 通常我们使用show来显示窗口,使用raise将窗口显示在最前面。 遇到的问题是,当在主窗口中打开一个子窗口时,如果这个窗口之前已经创建好了,它只是不在最前面被遮挡了,这时候要把它显示在前面使用show和raise是可以的。但是会带来一个问题,...
6个月前
阅读(380)

Qt 客户端应用程序多开要注意的问题

Qt 客户端应用程序多开要注意的问题 很多客户端程序同一台电脑只允许开启一个进程,这个是很有必要的。那将一个原本单开的程序改为允许多开要注意些什么呢? 本地配置 如果多个进程读写同一个配置会造成混乱(只读的配置除外),所以要控制同一个目录不允许开两个。 ...
11个月前
阅读(464)

Qt connect函数参数Qt::ConnectionType的使用场景

Qt connect函数参数Qt::ConnectionType的使用场景 信号槽作为Qt中的核心特性对于每一个使用Qt框架的人来说一定要掌握,connect函数是用来连接信号和槽的,虽然这个函数有多个重载的方式,但是这里仅介绍Qt::ConnectionType这个参数的含义以及使用场景。 Qt::Connectio...
1年前
阅读(560)

比较QKeyEvent和shortcut的按键信息

QKeyEvent来自于键盘的按键事件,shortcut是快捷方式,这里我用setShortcut函数给button设置了一个快捷方式,现在我想比较QKeyEvent的按键与button的shortcut是否相同。 QKeyEvent主要是通过modifiers和key这两个函数来获取当前的按键,shortcut使用QKeySequence来表示按键...
1年前
阅读(673)

bug修复,解决延迟搜索的问题

在输入框进行搜索的时候,通常我们每输入一个文字都要进行一次搜索,这样能得到实时的搜索结果。如果搜索速度很快的话当然是没问题的。 如果搜索的速度慢,当用户快速输入的时候就会很卡了。 其实在用户快速输入的时候对中间搜索的结果并不感兴趣,最后的结果才是我们想要...
1年前
阅读(480)

bug修复,内存释放问题

碰到了一个内存释放的问题,在进行某个复杂的操作时内存释放后否则会造成崩溃。经过多方面调查发现此时根据就不能释放内存(历史原因),否则会造成不可预知的问题。所以我打算把要删除的指针暂时保存起来,并不立马delete,等到10秒钟还没有操作的时候(稍微空闲)再把保存的指针...
1年前
阅读(553)

Qt自定义Tooltip

系统自带的tooltip太简单了,自定义tooltip就灵活多了,可以定义各种各样的控件样式。 从QDialog继承 class Tooltip : public QDialog 设置无边框属性 setWindowFlags(Qt::FramelessWindowHint Qt::Dialog); 在鼠标点击其他地方的时候自动关闭 ...
1年前
阅读(861)

QTableView多选

首先要了解它的setSelectionBehavior和setSelectionMode这两个接口,接下来再来考虑选中的问题。查看官方文档,setSelectionBehavior用来设置选中的是单元格,行还是列,setSelectionMode用来设置用户点击后的界面响应:单选,多选,扩展选择(Ctrl+Shift键),相邻,不选中。这里仅介...
1年前
阅读(861)

Qt回调到UI线程

桌面客户端程序主线程就是UI线程,我们经常要将网络中获取到的数据展示到界面上,通常有同步和异步两种方式,同步方式会阻塞UI,所以这种方式可以忽略了(特殊情况下可以使用)。大多数异步方式请求后是在子线程中返回数据的,而在这里我们是不能直接操作UI的。 下面介绍两种方...
1年前
阅读(964)

API设计原则(下)

API的语义和文档 当传值为-1的参数给函数,函数会是什么行为?有很多类似的问题…… 是警告、致命错误还是其它? API需要的是质量保证。API第一个版本一定是不对的;必须对其进行测试。 以阅读使用API的代码的方式编写用例,且验证这样代码是可读的。 还有其他的验证方法...
1年前
阅读(635)

API设计原则(中)

C++相关 值 vs. 对象 1. 指针 vs. 引用 指针(pointer)还是引用(reference)哪个是最好的输出参数(out-parameters)? void getHsv(int h, int s, int v) const; void getHsv(int &h, int &s, int &v) const; 大多数C++书籍推荐尽可能使用引用,基于一个普遍的观...
1年前
阅读(596)

API设计原则(上)

译序 Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C++还不精通,可以忽略与C++强相关或是过于细节的部分,...
1年前
阅读(609)

Qt只启动一个实例

要想实现这个需求,就涉及到进程间通信了,怎样让当前启动的程序知道在它之前有没有程序在运行。 其实实现方法还是蛮多的,简单介绍几种: 两个进程读写同一个文件 创建一个有名字的事件CreateEvent 共享内存 下面是第三种方案的实现代码: ifndef RUNGUARD_H d...
2年前
阅读(544)

Qt重要特性

Qt基本特性 Qt是一个跨平台的C++开发框架,它包含了功能丰富的C++类库以及集成开发工具。 事件循环,事件过滤 Qt是事件驱动的,程序每个动作都是由某个事件所触发。QApplication::exec()会调用QEventLoop进入事件循环,此时程序会进入等待状态,等待处理各种事件。 ...
2年前
阅读(616)

Qt简单截屏

鼠标左键按下拉取截取范围,中间确认截图,右键取消截图。 ifndef GRABWIDGET_H define GRABWIDGET_H include <QWidget> include <QMouseEvent> class GrabWidget : public QWidget { Q_OBJECT public: explicit GrabWidget(QWidget parent = 0);...
2年前
阅读(637)

Qt解决:warning : Z-order assignment

Qt中调整UI布局的时候,很容易出现如下警告: warning : Z-order assignment: '' is not a valid widget. warning : Z-order assignment: 'verticalSpacer' is not a valid widget. 虽然编译后运行看起来没什么问题,但是对于有轻微代码洁癖的人肯定是忍受不了的,...
2年前
阅读(1315)

qDebug日志写入本地文件

在Qt中使用qDebug打印日志信息是非常方便的,它可以直接打印Qt提供的复杂数据结构,如:QStringList,QVariantMap等。不做处理的话它只能在编辑器中打印调试信息,下面介绍将日志信息写入文件的实现方法。 static struct LogWrap { LogWrap::LogWrap() { reset(); } ...
2年前
阅读(733)

QLayout: Attempting to add QLayout

QLayout: Attempting to add QLayout , which already has a layout 出现这个警告的原因是一个QWidget作为了多个QLayout的parent,一个QWidget应该只有一个main layout,将其它子widget或者layout增加到main layout中,如下代码: QWidget x = new QWidget(this);...
2年前
阅读(2030)

给QPushButton增加图标并且显示在文本右边

m_button = new QPushButton(this); m_button->setText(tr("Ope34543r")); m_button->setIcon(QIcon("F:\\qt\\OperWidget\\test.png")); m_button->setLayoutDirection(Qt::RightToLeft); ...
2年前
阅读(857)
 
Keep it simple,stupid
文章数
296
总访问量
400387
今日访问
447
最近评论

xuehaoyun : 很不错,来围观一下
tujiaw : 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞 : 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
于淞 : 你好,这个文章的源码能分享一下吗,838106303@163.com,谢谢了 上面的链接不能用了
tujiaw : 多谢多谢
essaypinglun college-paper.org : 很好的博客,赞赞
Folly : 这个实现有点奇怪,Qt为什么没有统一的比对方法。
过多s : alert("hello, world!")
tujiaw : 还不错哦
回到顶部