当前位置: 首页> 娱乐> 八卦 > 信号槽、父子关系、隐式共享

信号槽、父子关系、隐式共享

时间:2025/9/6 19:20:19来源:https://blog.csdn.net/lsh11111/article/details/141988570 浏览次数:0次

1. Qt基础

- connect(…):连接了"OK"按钮至QDialog的accept槽函数,以及"Cancel"按钮至QDialog的reject槽函数。根据结果判断按下的是"OK"按钮还是"Cancel"按钮。

- parent-child机制:当建立一个物件时,若有parent,则parent将此物件加入其children list。消除parent时,会根据children list 消除这些child。widget的parent还决定了child widget的显示范围。

- 实现槽函数on_lineEdit_textChanged():

```cpp

void Dialog::on_lineEdit_textChanged() {

    ui->okButton->setEnabled(ui->lineEdit->hasAcceptableInput());

}

```

- 运行工程:当在lineEdit中输入A12后,"OK"按钮将自动变为可用状态。

2. 字符串类QString:概念解析

- 隐式共享技术:当两个对象共享数据时,根据数据是否改变进行深拷贝或浅拷贝。

- QString类采用隐式共享技术,结合深拷贝和浅拷贝。

- 通过例子说明隐式共享如何工作:

```cpp

QString str1 = "data";

QString str2 = str1;

str2[3] = 'e';

str2[0] = 'f';

str1 = str2;

```

3. Qt中支持隐式共享的类:

- 所有的容器类。

- QByteArray、QBrush、QPen、QPalette、QBitmap、QImage、QPixmap、QCursor、QDir、QFont和QVariant等。

4. QString内存分配策略:

- 每次分配4个字符空间,直到大小为20。

- 在20~4084之间,内存块大小以2倍速增长。

- 从4084开始,每次以2048个字符大小的步长增长。

关键字:信号槽、父子关系、隐式共享

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: