Tag: Qt
All the articles with the tag "Qt".
API设计原则(中)
Published: at 02:08 PMC++相关 值 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++书籍推荐尽可能使用引用,基于一个普遍的观...
API设计原则(上)
Published: at 02:07 PM译序 Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C++还不精通,可以忽略与C++强相关或是过于细节的部分,...
Qt只启动一个实例
Published: at 09:52 AM要想实现这个需求,就涉及到进程间通信了,怎样让当前启动的程序知道在它之前有没有程序在运行。 其实实现方法还是蛮多的,简单介绍几种: 两个进程读写同一个文件 创建一个有名字的事件CreateEvent 共享内存 下面是第三种方案的实现代码: ifndef RUNGUARDH d...
Qt重要特性
Published: at 08:55 AMQt基本特性 Qt是一个跨平台的C++开发框架,它包含了功能丰富的C++类库以及集成开发工具。 事件循环,事件过滤 Qt是事件驱动的,程序每个动作都是由某个事件所触发。QApplicationexec()会调用QEventLoop进入事件循环,此时程序会进入等待状态,等待处理各种事件。 ...
Qt简单截屏
Published: at 01:25 AM鼠标左键按下拉取截取范围,中间确认截图,右键取消截图。 ifndef GRABWIDGETH define GRABWIDGETH include <QWidget> include <QMouseEvent> class GrabWidget public QWidget { QOBJECT public explicit GrabWidget(QWidget parent = 0);...
Qt解决:warning Z-order assignment
Published: at 01:12 PMQt中调整UI布局的时候,很容易出现如下警告: warning Z-order assignment '' is not a valid widget. warning Z-order assignment 'verticalSpacer' is not a valid widget. 虽然编译后运行看起来没什么问题,但是对于有轻微代码洁癖的人肯定是忍受不了的,...
qDebug日志写入本地文件
Published: at 02:11 AM在Qt中使用qDebug打印日志信息是非常方便的,它可以直接打印Qt提供的复杂数据结构,如QStringList,QVariantMap等。不做处理的话它只能在编辑器中打印调试信息,下面介绍将日志信息写入文件的实现方法。 static struct LogWrap { LogWrapLogWrap() { reset(); } ...
QLayout Attempting to add QLayout
Published: at 03:58 PMQLayout Attempting to add QLayout , which already has a layout 出现这个警告的原因是一个QWidget作为了多个QLayout的parent,一个QWidget应该只有一个main layout,将其它子widget或者layout增加到main layout中,如下代码: QWidget x = new QWidget(this);...
给QPushButton增加图标并且显示在文本右边
Published: at 01:10 AMmbutton = new QPushButton(this); mbutton->setText(tr("Ope34543r")); mbutton->setIcon(QIcon("F\\qt\\OperWidget\\test.png")); mbutton->setLayoutDirection(QtRightToLeft); ...
QLabel文本超出显示区域显示...
Published: at 01:07 AM这个功能很有用,默认情况下文本超出长度会被直接截断的,给用户体验很不好。这里截断后会显示...,并且鼠标划上去有tooltip。 ifndef ELIDEDLABELH define ELIDEDLABELH include <QtWidgets/QFrame> include <QtCore/QRect> include <QtGui/QResizeEvent> inc...