zoukankan      html  css  js  c++  java
  • QT对话框程序

    如果我们要想定义一个类可以使用SIGNAL和SLOT机制,就需要在一开始就使用一个Q_OBJECT宏

    signal和slot关键字实际上也是一个宏

    在头文件中使用前向声明可以加快编译速度

    QtQui头文件包含了所有属于QtCore或QtQui类的声明,这样声明很简单

    tr()函数是用来标识文本翻译成其他语言的,在可视化字符串上使用tr()函数是个好习惯。 国际化也变容易了

    快捷键的指定直接在字符前加上&就行了,Oh my god,so easy

    可以快捷键触发聚焦 setBuddy

    默认TAB键的顺序是控件创建的顺序

    SIGNAL和SLOT宏将参数转化为字符串

    一个信号可以连到很多槽位

    多个信号可以连到同一槽位

    一个信号也可连到另一信号

    连接也可以去除

    为了成功的将一个信号连到一个槽位或另一个信号,参数必须相同,若信号的参数较多,多出来的参数将会被忽略,而且参数要兼容

    信号和槽位机制不限于在控件使用

    QT的元对象系统:

    QT实现了创建独立软件组件不用知道任何待连接对象的信息就可以相互绑定的机制的C++扩展。

    Q_OBJECT宏声明需要实现一些刺探函数如: metaObject(), tr(), qt_metacall()等

    moc自动生成这些刺探函数的实现

    connect和disconnect用这些刺探函数完成其工作

    在QT中我们必须删除那些用new生成的而且没有父对象,如果在删除父对象前删除了子对象,QT将自动从父对象的子对象列表中删除该对象

    对于控件来说,当我们删除父控件时,不仅子控件从内存中清除了,而且也会从屏幕上清除

    accept槽位和reject槽位都会关闭对话框,但设置的返回值不一样,accept设置为QDialog:Accepted(1)reject设置为QDialog:Rejected(0)

    如果设置了布局的sizeConstraint属性为QLayout::SetFixedSize,则对话框则不再能拉伸

    QT界面扩展的几种方式:

    1.界面以toggle button切换隐藏和显示

    2.多Tab页面显示

    3.动态加载QUiLoader  findChild CONFIG+= uitools,可用来构建瘦客户端

  • 相关阅读:
    oracle sql developer连接信息的保存位置
    (转) Java EE 6无法安装的解决方法
    如何结合使用 Subversion 和 Eclipse
    ASUS P8H61MLE 硬刷激活win7旗舰版
    pb 版本控制
    Subversion Edge by Collabnet 的用户名密码
    (原)导入证书后报:错误应用程序名称: lmadmin.exe,版本: 11.10.0.9,时间戳: 0x4f02e435
    关于Xendesktop的心得
    Eclipse 3.4插件安装方式
    Java创建线程的两个方法
  • 原文地址:https://www.cnblogs.com/westwind/p/2484927.html
Copyright © 2011-2022 走看看