QT中常见的技巧和易错的地方

<1>QT常用的数据库有MySQL和SQLLite,所以在写之前,一定要在工程文件(.pro)结尾的那个文件中加入如下的关键字:

连数据库的话要加上“sql”            QT += core gui sql  

做网络程序(如socket)的时候要加上"network" QT += core gui network

不加会有没有找到驱动的错误。

<2>一般使用另一个类的时候,都是如下的操作,我们那一个简单的工程来说:

.

如上所示:我们自己的类myclass,在mainwindows.cpp中使用的时候,通常是先在mainwindows.h文件中声明一个私有的指针;

如:在mainwindows.h中 代码 MyClass  *myclass;然后再在mainwindows.cpp中对这个成员初始化,this->myclass = new MyClass(this);

<3>对于要设计折叠效果时,我们用的是GroupBox控件,关键代码如下:

    1. ui->groupBox_2->hide();
    2. this->layout()->setSizeConstraint(QLayout::SetFixedSize);
    3. ui->pushButton_More->setCheckable(true);
    4. QObject::connect(ui->pushButton_More,SIGNAL(toggled(bool)),
    5.        ui->groupBox_2,SLOT(setVisible(bool)));

<4>QT中类的设计

关于QT中类的设计,我们到底是在我们的工程中,新建一个我们自己封装的类,还是直接用QT库中的类,完全取决于,我们实现的功能的复杂情况.工程中对一个已经做好的类使用时,切记:如果你定义的是指针,那么请一定要注意,要在他被使用前初始化。

<5>QT有些函数是虚函数

如:在QTcpSocket类中的虚函数incomingConnect();还有一些是静态函数(即我们直接拿类名来调用就行),如:QObject::Connect().

<6>QT中两个类之间的传值。

通过构造函数来传值。所以要在设计类的时候就要考虑好要传递那些参数

<7>在QTcpSocket类中的一些信号只会发送一次。我们不能通过信号判断一些条件.


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值