zoukankan      html  css  js  c++  java
  • 深入学习QWidget-1

    1.QWidget对事件的抓取和放手。主要有例如以下几个接口

    grabGesture 抓取输入手势

    ungrabGesture 取消抓取手势

    grabKeyboard 抓取键盘输入

    grabMouse 抓取鼠标输入

    releaseKeyboard 取消键盘输入

    releaseMouse 取消鼠标输入

    grabShortcut 抓取快捷键,须要设置setShortcutEnabled(true);

    releaseShortcut 取消抓取快捷键


    2.QWidget的特效

    QGraphicsEffect 能够实现QWidget的特效。QT内置实现了几个经常使用的特效类,例如以下:

    不仅能够用到QWidget上。还能够应用到其它的可绘制设备上,比如QPixmap等。

    3.保存窗体状态
    saveGeometry()和restoreGeometry()。相相应的还有QMainWindow用来保存贴边窗体等状态的接口。saveState()和restoreState()
    都是用来序列化窗体状态的。

    4.针对复杂的上下文菜单QInputContext
    QInputContext能够针对QWidget进行定制也能够针对QApplication来进行定制。


    void QApplication::setInputContext ( QInputContext * inputContext )

    void QWidget::setInputContext ( QInputContext * context )

    能够查看inputpanel样例。


    5.窗体形状的定制,能够定制出随意形状的窗体。类似分割了的游戏登陆界面等。

    void QWidget::setMask ( const QBitmap & bitmap )

    void QWidget::setMask ( const QRegion & region )

    能够查看QT的Shaped Clock Example样例

    6.控制限制输入的暗示
    void setInputMethodHints ( Qt::InputMethodHints hints );
    Qt::InputMethodHints inputMethodHints () const;

    这个接口只与输入的Widget相关,假设想要特定的限制方式。应该採用QValidator来加以控制。


    7.设置窗体样式和设置QApplication的统一样式

    void QWidget::setStyle ( QStyle * style )

    QStyle * QWidget::style () const


    8.设置窗体的样式表单,使用CSS样式表单来设置QT的窗体样式。

    QString styleSheet () const
    void setStyleSheet ( const QString & styleSheet )

    9.将QWidget的绘制渲染到另外一个可绘制设备上。

    void QWidget::render ( QPaintDevice * target, const QPoint & targetOffset = QPoint(), const QRegion & sourceRegion = QRegion(), RenderFlags renderFlags = RenderFlags( DrawWindowBackground | DrawChildren ) )

    使用渲染标识符从源设备渲染到目标设备。

    10.scroll。滚动窗体的像素坐标位置。
    这里特别须要注意的是scroll()函数的调用。仅仅能在paintEvent中调用,其它时候调用时不起作用的。







  • 相关阅读:
    vue-router 滚动行为封装示例
    HTML5 History 模式 后端ngnix配置
    vue-router 嵌套命名视图
    npm 源管理 nrm
    windows系统git使用zip命令报错解决方法
    vue v-html 动态内容样式无效解决方法
    vue 项目打包 本地预览
    Vue 项目环境变量
    Oracle中的统计信息
    宽表和窄表的区别---字段
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6773091.html
Copyright © 2011-2022 走看看