qt中 if(my1.exec()==QDialog::Accepted)这句是什么意思

qt中 if(my1.exec()==QDialog::Accepted)这句是什么意思,第1张

这个先说这个

myqexec()

这个就是个等待消息的循环,就是说它在等待你给的命令。

再说这个

QDialog::Accepted,这个是跳出来的对话框,你选择的接受信号。Accepted信号通常就是回车或者确定、OK之类的。

整个的意思就是说,当跳出来个对话框,你点击了某个按钮引起了Accwpted信号。然后后面就是一个{},里面就是要做的事情。

参考: QGraphicsPixmapItem

QGraphicsPixmapItem 类提供了一个 pixmap 项,您可以将其添加到 QGraphicsScene 中。

要设置项目的像素图,请将 QPixmap 传递给 QGraphicsPixmapItem 的构造函数,或调用 setPixmap() 函数。 pixmap() 函数返回当前的像素图。

QGraphicsPixmapItem 使用 pixmap 的可选 alpha 蒙版,以合理地实现 boundingRect() , shape() 和 contains() 。

像素图是在项目的 坐标处绘制的,由 offset() 返回。您可以通过调用 setOffset() 来更改图形偏移。

您可以通过调用 setTransformationMode() 来设置像素图的转换模式。默认情况下,使用 FastTransformation ,它提供了快速,平滑的缩放比例。 SmoothTransformation 在 painter 上启用 SmoothPixmapTransform ,其质量取决于平台和视口。结果通常不如直接调用 QPixmap::scale() 好。调用 transformationMode() 以获取该项目的当前转换模式。

QGraphicsPixmapItem([ parent=None ]) :其中 parent 即 QGraphicsItem 的实例。

下面写一个使用案例:

效果:

程序中,我们经常会调用函数,如果调用的函数耗时较长,同步调用会造成主程序的堵塞。Qt中提供了一个便捷的函数 QMetaObject::invokeMethod ,方便我们异步调用,从而解决这一问题。本文只要讲述 QMetaObject::invokeMethod 的使用方法。

此函数用于调用对象的成员(信号或插槽)。如果可以调用成员,则返回true。如果没有此类成员或参数不匹配,则返回false。

QMetaObject::invokeMethod 除上文这个函数以外还有5个重载函数,这里不再赘述。

参数说明:

obj :被调用对象的指针

member :成员方法的名称

type :连接方式,默认值为 Qt::AutoConnection

ret :接收被调用函数的返回值

val0 ~ val9 :传入被调用函数的参数,最多十个参数

注:必须要使用 Q_RETURN_ARG() 宏来封装函数返回值、 Q_ARG() 宏来封装函数参数。

若一个对象obj有一个槽函数func(QString,int),返回值为bool,那么调用方式如下:

注: 使用 Qt::QueuedConnection 异步调用,将无法获取返回值,因为此连接方式只是负责把事件交给事件队列,然后立刻返回,所以,函数返回值就无法确定了。

但,我们可以使用上文提及的 Qt::BlockingQueuedConnection 连接方式,这个连接方式会阻塞发射信号的线程一直等到队列连接槽返回后,才会恢复阻塞,这样就可以保证我们能得到函数的返回值。使用如下:

需要注意的是,qt官方文档中的提醒: 使用此连接类型在同一线程中的对象之间进行通信将导致死锁

最后,因为连接方式 type 默认值为 Qt::AutoConnection ,所以当被调用的obj与调用者不在同一线程中,可以直接调用:

使用 QMetaObject::invokeMethod 来调用函数时,当函数的参数有自定义类型时,程序将会报错,因为调用的类型必须是信号、槽,以及Qt元对象系统能识别的类型。可以使用Qt命名类型所提供的 qRegisterMetaType() 来注册自定义类型。

示例如下:

用g了,或者中了病毒!那是一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。

1、微软IE缓冲溢出漏洞引起

2、内存或虚拟内存地址使用冲突造成 程序的运行需要分配一定的内存地址给程序使用,当程序结束时释放留出空间让给新的程序使用,win是多任务的系统 有时前程序未结束 又有新的任务开始 到底要多少内存或虚拟内存来保证我们同时运行的工作任务呢也许win在这个问题上没弄好,所以有此错误常常发生,一般运行大型软件或多媒体后出现这种情况

3、劣质内存条也会出现这个问题

一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。

假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。

4、微软WINDOWS系统的漏洞,

windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内存而可供分配的地址空间不够的情况下返回null指针。但是代码不检查这种错误,认为地址分配已经成功,于是就访问0X00000000的地址,于是就发生内存违规访问,同时该进程被终止。

ASCII字符填充组成的pif文件时会出现以下情况:

一个非法的pif文件(用ascii字符'x'填充)至少要369字节,系统才认为是一个合法的pif文件,才会以pif的图标[pifmgrdll,0]显示,才会在属性里有程序、 字体、内存、屏幕”等内容。而且仅仅当一个非pif文件的大小是369字节时察看属性的“程序”页时,不会发生程序错误,哪怕是370字节也不行。当对一个大于369字节的非法pif文件察看属性的“程序”页时,Explorer会出错,提示:''指令引用的''内存。该内存不能为'read' ,问题出在pif文件的16进制地址:

0x00000181[0x87]0x00000182[0x01]和

0x00000231[0xC3]0x00000232[0x02]

即使是一个合法pif文件,只要改动这四处的任意一处,也会引起程序错误。而只

要把0x00000181和0x00000182的值改为[0xFF][0xFF],那么其它地址任意更改

都不会引起错误。

5、可能没有完全正确安装apache服务,且启动了它的原故; 把服务中的 OracleOraHomeXX>

你在一个槽里面,调用这个函数,返回的就是你信号来源的对象;

QPushButton aaaa = new QPushButton(this);

比如 connect(aaaaa, SIGNAL(Click()), this, SLOT(Onaaaaa());

void Onaaaaa(){

QPushButton ccc = (QPushButton) sender();

}

这个CCC就是aaaa这个对象来的

QBitmap 类提供单色(monochrome,1位深度)像素图。

QBitmap类是单色的 off-screen 绘画设备,主要用于创建自定义 QCursor 和 QBrush 对象,构造 QRegion 对象以及为像素图(pixmaps)和小部件(widgets)设置蒙版。

QBitmap 是确保深度为 1 的 QPixmap 子类,深度为 0 的空对象除外。如果将深度大于 1 的像素图分配给位图,则位图将自动抖动。

在 QBitmap 对象(或深度为 1 的 QPixmap 对象)上绘制时,请使用 QColor 对象 color0 和 color1 。使用 color0 进行绘制会将位图位设置为 0,使用 color1 进行绘制会将位图位设置为 1。对于位图,0 位表示背景(或透明像素),而 1 位表示前景(或不透明像素)。使用 clear() 函数将所有位设置为 color0 。请注意,使用黑色和白色是没有意义的,因为 QColor::pixel() 值对于黑色不一定为 0,对于白色不一定为 1。

QBitmap 类提供了 transformd() 函数,该函数返回位图的转换后的副本;使用 QTransform 参数平移,缩放,剪切和旋转位图。另外, QBitmap 提供了静态的 fromData() 函数,该函数返回从给定的 uchar 数据构造的位图,以及静态的 fromImage() 函数,返回转换后的 QImage 对象的副本。

就像 QPixmap 类一样, QBitmap 通过使用隐式数据共享进行了优化。有关更多信息,请参见 Implicit Data Sharing 文档。

以上就是关于qt中 if(my1.exec()==QDialog::Accepted) 这句是什么意思全部的内容,包括:qt中 if(my1.exec()==QDialog::Accepted) 这句是什么意思、Qt 使用 QGraphicsPixmapItem、Qt invokeMethod 异步调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10211640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存