57,Qt(02)

来源:互联网 发布:简述网络招聘的优缺点 编辑:程序博客网 时间:2024/05/29 10:08

/*
达内学习  Qt02 day55 2013-11-18
*/
4,a,qt工具
  qmake -version
   qmake  -project
   qmake
    make
    assistant  帮助文档
 designer 设计器
   qtcreator
 b,qt头文件
  Qtcore  QtGui  QtSql QtXml  QtNetwork QtOPenGL
 c,qt 的库文件
   对头文件分模块实现
5,第一个QT程序
6,中文处理
  QTextCodec::codecForeName("编码");
  QTextCodec::setCodecForTr("编码方式指针");
  QObject::tr("中文","编码方式")
  或者 直接调用对象成员函数
   toUnicode("中文字符串");
7,信号 和 槽
使用 QObject::connect(const QObejct* sender,const char* signal,const QObject* reciver,const char* method);
SIGNAL  SLOT
8,父窗口指针
 调整组件大小 resize  调整位置 move
9,带参数的信号和槽
SIGNAL(siderMoved(int)  写参数类型 不写参数
10,加法器
11,加法器2
  使用C++ 方式编写QT的代码的头文件和实现文件必须分离
  类的对象如果要显示到屏幕上,则必须继承QWidget 或者子类
  界面中使用的组件 都要做为这个类的成员变量
  如果类中有自定义的信号或槽则必须在头文件中引入一个宏Q_OBJECT

1,写加法器的的头文件
继承
类的成员变量的定义
如果要自定义槽函数 或者信号 Q_OBJECT 导入相应的头文件
2,写实现文件
注意父类窗口指针  this
组件的赋值
组件的位置
组件内存的释放
槽函数的实现
信号和槽函数在构造函数中的链接
3,写测试文件
qDebug("");后台控制台输出
按照上面方式实现一个QQ登陆框
 
信号和槽函数
<1>
<2>
<3>
<4>定义信号  public:signals:
定义槽函数  public slots:
<5>使用connect 链接
connect(a,SIGNAL(t()),b,SLOT(testg()));
<6>使用disconnect 解除链接(少用)
 补充:
 1,一个信号 可以链接多个槽
 2,一个槽可以被多个信号链接
 3,一个信号可以链接到一个信号
connect(a,SIGNAL(t()),b,SIGNAL(testg()));
connect(a,SIGNAL(testg()),b,SLOT(testb()));
 4,当删除一个对象的时候,Qt会自动移除关联的链接

信号和槽链接的条件:
    信号和槽有相同的参数个数,相同的参数类型,相同的参数顺序。除非信号和槽有默认的参数值。
    当信号和槽有参数时,在进行链接就需要在宏中出现参数的类型不能出现参数名。

QPushButton 信号函数 clicked()
QLabel      槽函数 setText(QString)
a,使用自定义槽函数  间接链接 (参见03time)
 自定义的槽函数 和 按钮的clicked()绑定,再在自定义的槽函数中调用setText(QString)就相当于点击clicked() 调用setText(QString)
b,通过自定义槽函数 和 信号函数  (参见04time)
clicked()吸纳和哦 和自定义槽函数绑定
自定义槽函数中发射信号 发射的信号再和setText(QString)绑定

13,设计器的使用
(简化界面的设计)
加法器的第二个版本
实现加法器的第三个版本

新建一个界面
托拽组件 赋值组件 鼠标改变界面的大小
移动组件(箭头一下10px,按着ctrl变每次1 px)
属性编辑器  ctrl + i
字体:font/点大小

a,准备UI文件
b,把UI文件转换成.h文件  uic jfq.ui -o jfq.h
c,头文件就是界面文件
d,写一个自己的类的头文件
e,写自己类的实现

 

 

原创粉丝点击