亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qsignalmapper.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qsignalmapper.h"#ifndef QT_NO_SIGNALMAPPER#include "qhash.h"#include "qobject_p.h"class QSignalMapperPrivate : public QObjectPrivate{    Q_DECLARE_PUBLIC(QSignalMapper)public:    void _q_senderDestroyed() {        Q_Q(QSignalMapper);        q->removeMappings(q->sender());    }    QHash<QObject *, int> intHash;    QHash<QObject *, QString> stringHash;    QHash<QObject *, QWidget*> widgetHash;    QHash<QObject *, QObject*> objectHash;};/*!    \class QSignalMapper    \brief The QSignalMapper class bundles signals from identifiable senders.    \ingroup io    \mainclass    This class collects a set of parameterless signals, and re-emits    them with integer, string or widget parameters corresponding to    the object that sent the signal.    The class supports the mapping of particular strings or integers    with particular objects using setMapping(). The objects' signals    can then be connected to the map() slot which will emit the    mapped() signal with the string or integer associated with the    original signalling object. Mappings can be removed later using    removeMappings().    Example: Suppose we want to create a custom widget that contains    a group of buttons (like a tool palette). One approach is to    connect each button's \c clicked() signal to its own custom slot;    but in this example we want to connect all the buttons to a    single slot and parameterize the slot by the button that was    clicked.    Here's the definition of a simple custom widget that has a single    signal, \c clicked(), which is emitted with the text of the button    that was clicked:    \quotefromfile snippets/qsignalmapper/buttonwidget.h    \skipto QWidget    \printuntil QSignalMapper    \printuntil };    The only function that we need to implement is the constructor:    \quotefromfile snippets/qsignalmapper/buttonwidget.cpp    \skipto ButtonWidget    \printuntil connect    \printuntil connect    \printuntil }    A list of texts is passed to the constructor. A signal mapper is    constructed and for each text in the list a QPushButton is    created. We connect each button's \c clicked() signal to the    signal mapper's map() slot, and create a mapping in the signal    mapper from each button to the button's text. Finally we connect    the signal mapper's mapped() signal to the custom widget's \c    clicked() signal. When the user clicks a button, the custom    widget will emit a single \c clicked() signal whose argument is    the text of the button the user clicked.    \sa QObject, QButtonGroup, QActionGroup*//*!    Constructs a QSignalMapper with parent \a parent.*/QSignalMapper::QSignalMapper(QObject* parent)    : QObject(*new QSignalMapperPrivate, parent){}#ifdef QT3_SUPPORT/*!    \overload    \obsolete */QSignalMapper::QSignalMapper(QObject *parent, const char *name)    : QObject(*new QSignalMapperPrivate, parent){    setObjectName(QString::fromAscii(name));}#endif/*!    Destroys the QSignalMapper.*/QSignalMapper::~QSignalMapper(){}/*!    Adds a mapping so that when map() is signalled from the given \a    sender, the signal mapped(\a id) is emitted.    There may be at most one integer ID for each sender.    \sa mapping()*/void QSignalMapper::setMapping(QObject *sender, int id){    Q_D(QSignalMapper);    d->intHash.insert(sender, id);    connect(sender, SIGNAL(destroyed()), this, SLOT(_q_senderDestroyed()));}/*!    \overload    Adds a mapping so that when map() is signalled from the given \a    sender, the signal mapped(\a text ) is emitted.    There may be at most one text for each sender.*/void QSignalMapper::setMapping(QObject *sender, const QString &text){    Q_D(QSignalMapper);    d->stringHash.insert(sender, text);    connect(sender, SIGNAL(destroyed()), this, SLOT(_q_senderDestroyed()));}/*!    \overload    Adds a mapping so that when map() is signalled from the given \a    sender, the signal mapped(\a widget ) is emitted.    There may be at most one widget for each sender.*/void QSignalMapper::setMapping(QObject *sender, QWidget *widget){    Q_D(QSignalMapper);    d->widgetHash.insert(sender, widget);    connect(sender, SIGNAL(destroyed()), this, SLOT(_q_senderDestroyed()));}/*!    \overload    Adds a mapping so that when map() is signalled from the given \a    sender, the signal mapped(\a object ) is emitted.    There may be at most one object for each sender.*/void QSignalMapper::setMapping(QObject *sender, QObject *object){    Q_D(QSignalMapper);    d->objectHash.insert(sender, object);    connect(sender, SIGNAL(destroyed()), this, SLOT(_q_senderDestroyed()));}/*!    Returns the sender QObject that is associated with the given \a    id.    \sa setMapping()*/QObject *QSignalMapper::mapping(int id) const{    Q_D(const QSignalMapper);    return d->intHash.key(id);}/*!    \overload*/QObject *QSignalMapper::mapping(const QString &id) const{    Q_D(const QSignalMapper);    return d->stringHash.key(id);}/*!    \overload    Returns the sender QObject that is associated with the given \a    widget.*/QObject *QSignalMapper::mapping(QWidget *widget) const{    Q_D(const QSignalMapper);    return d->widgetHash.key(widget);}/*!    \overload    Returns the sender QObject that is associated with the given \a    object.*/QObject *QSignalMapper::mapping(QObject *object) const{    Q_D(const QSignalMapper);    return d->objectHash.key(object);}/*!    Removes all mappings for \a sender.    This is done automatically when mapped objects are destroyed.*/void QSignalMapper::removeMappings(QObject *sender){    Q_D(QSignalMapper);    d->intHash.remove(sender);    d->stringHash.remove(sender);    d->widgetHash.remove(sender);    d->objectHash.remove(sender);}/*!    This slot emits signals based on which object sends signals to it.*/void QSignalMapper::map() { map(sender()); }/*!    This slot emits signals based on the \a sender object.*/void QSignalMapper::map(QObject *sender){    Q_D(QSignalMapper);    if (d->intHash.contains(sender))        emit mapped(d->intHash.value(sender));    if (d->stringHash.contains(sender))        emit mapped(d->stringHash.value(sender));    if (d->widgetHash.contains(sender))        emit mapped(d->widgetHash.value(sender));    if (d->objectHash.contains(sender))        emit mapped(d->objectHash.value(sender));}/*!    \fn void QSignalMapper::mapped(int i)    This signal is emitted when map() is signalled from an object that    has an integer mapping set. The object's mapped integer is passed    in \a i.    \sa setMapping()*//*!    \fn void QSignalMapper::mapped(const QString &text)    \overload    This signal is emitted when map() is signalled from an object that    has a string mapping set. The object's mapped string is passed in    \a text.    \sa setMapping()*//*!    \fn void QSignalMapper::mapped(QWidget *widget)    \overload    This signal is emitted when map() is signalled from an object that    has a widget mapping set. The object's mapped widget is passed in    \a widget.    \sa setMapping()*//*!    \fn void QSignalMapper::mapped(QObject *object)    \overload    This signal is emitted when map() is signalled from an object that    has an object mapping set. The object provided by the map is passed in    \a object.    \sa setMapping()*/#include "moc_qsignalmapper.cpp"#endif // QT_NO_SIGNALMAPPER

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区高清不卡| 日本欧美一区二区三区| 亚洲一二三四区不卡| 国产精品一二三四区| 欧美三片在线视频观看| 国产精品成人网| 精品一区精品二区高清| 欧美三级欧美一级| 中文字幕综合网| 国产一区二区三区最好精华液| 欧美色倩网站大全免费| 日韩理论片网站| 成人av网站免费| 久久伊人蜜桃av一区二区| 天堂蜜桃一区二区三区| 欧美午夜影院一区| 亚洲欧美在线观看| 国产成人综合精品三级| 久久一夜天堂av一区二区三区| 高清在线成人网| 91麻豆精品国产无毒不卡在线观看| 亚洲私人黄色宅男| 成人性生交大片| 国产欧美精品在线观看| 久草中文综合在线| 精品精品国产高清一毛片一天堂| 中文字幕久久午夜不卡| 精品欧美乱码久久久久久| 在线免费观看日本一区| 岛国一区二区三区| 国产精品一区二区三区四区 | 丁香婷婷深情五月亚洲| 亚洲成人你懂的| 国产精品视频免费看| 欧美日韩国产大片| 国产综合久久久久久鬼色 | 另类综合日韩欧美亚洲| 欧美午夜精品免费| 亚洲黄色性网站| 91成人国产精品| 一区二区三区在线播放| 91久久香蕉国产日韩欧美9色| 中文字幕在线观看不卡| 91色.com| 亚洲伊人色欲综合网| 欧美亚洲一区三区| 热久久国产精品| 欧美大度的电影原声| 高清不卡在线观看av| 国产精品天美传媒| 日本乱人伦aⅴ精品| 婷婷国产v国产偷v亚洲高清| 日韩欧美在线一区二区三区| 国产在线精品不卡| 日韩一区欧美小说| 欧美丰满少妇xxxxx高潮对白 | 天天做天天摸天天爽国产一区| 成人欧美一区二区三区白人| 亚洲电影视频在线| 麻豆精品在线播放| 日一区二区三区| 国产精品主播直播| 精品日韩av一区二区| 日韩欧美中文字幕公布| 欧美国产激情二区三区| 一区二区三区精品在线观看| 国产精品中文字幕日韩精品 | 日韩一区二区麻豆国产| 日韩一级二级三级| 一区二区三区小说| 国产一区二区免费看| 欧美日韩三级一区二区| 亚洲色图在线看| 91精品午夜视频| 国产精品久久久久久福利一牛影视| 91亚洲精华国产精华精华液| 男人操女人的视频在线观看欧美| 性欧美大战久久久久久久久| 精品噜噜噜噜久久久久久久久试看| 99久久精品国产导航| 蜜臀91精品一区二区三区| 中文字幕中文字幕中文字幕亚洲无线| 777a∨成人精品桃花网| 97久久精品人人澡人人爽| 久久99精品一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 91精品婷婷国产综合久久竹菊| 91在线观看地址| 国产成人av一区二区| 秋霞午夜鲁丝一区二区老狼| 一区二区三区高清不卡| 中文字幕精品—区二区四季| 日韩免费看的电影| 欧美精品亚洲二区| 色悠悠亚洲一区二区| 国产成人鲁色资源国产91色综| 日韩高清不卡一区二区| 亚洲综合色网站| 中文字幕在线不卡视频| 国产婷婷一区二区| 久久综合色综合88| 精品剧情v国产在线观看在线| 欧美日韩一区二区三区免费看| 99精品视频在线免费观看| 成人一道本在线| 成人综合在线网站| 国产成人av电影在线观看| 久久国产综合精品| 乱中年女人伦av一区二区| 天天av天天翘天天综合网色鬼国产 | 免费成人在线观看视频| 午夜精品福利一区二区三区av| 1区2区3区国产精品| 中文字幕第一区综合| 国产欧美一区视频| 久久久久久久久久久99999| 亚洲精品在线网站| 精品粉嫩aⅴ一区二区三区四区| 日韩一区二区在线观看视频| 欧美一区二区福利在线| 欧美一区二区久久久| 日韩一区二区电影在线| 日韩精品一区二区三区四区 | 99re成人精品视频| 91精品久久久久久蜜臀| 日韩亚洲欧美综合| 欧美在线视频你懂得| 国产精品中文字幕日韩精品| 青娱乐精品在线视频| 一区二区三区中文免费| 亚洲欧洲日产国码二区| 欧美国产激情一区二区三区蜜月| 久久综合资源网| 国产网红主播福利一区二区| 国产亚洲一区字幕| 亚洲高清在线精品| 三级久久三级久久久| 精品一区二区三区在线视频| 国产精品一区一区| 色偷偷一区二区三区| 欧美精品99久久久**| 2022国产精品视频| 亚洲人成网站在线| 亚洲午夜免费电影| 国内成人自拍视频| 91丨九色丨尤物| 91精品在线麻豆| 欧美韩国一区二区| 午夜欧美视频在线观看| 一本大道综合伊人精品热热| 在线视频你懂得一区二区三区| 欧美日韩午夜精品| 久久久99精品免费观看| 亚洲在线中文字幕| 国产一区二区看久久| 色天天综合色天天久久| 亚洲精品在线观| 一区二区三区蜜桃| 国产在线精品视频| 精品视频在线免费观看| 久久免费视频色| 亚洲不卡在线观看| 成a人片国产精品| 日韩一级片网站| 亚洲四区在线观看| 国产成人精品www牛牛影视| 欧美乱熟臀69xxxxxx| 国产欧美一区二区三区网站| 午夜电影网一区| 99re热这里只有精品免费视频| 精品久久五月天| 丝袜美腿亚洲一区二区图片| 成人手机在线视频| 日韩精品一区二区三区中文精品| 亚洲色图20p| 成人av免费观看| 久久久久久97三级| 日韩电影一区二区三区四区| 91麻豆高清视频| 国产精品免费看片| 国产很黄免费观看久久| 日韩欧美成人一区| 日韩高清不卡一区二区| 在线免费观看视频一区| 中文字幕一区三区| 成人免费视频caoporn| 久久只精品国产| 国产麻豆精品久久一二三| 日韩欧美一区二区在线视频| 亚洲一区二区视频在线| 99国产精品视频免费观看| 国产精品久久影院| 国产91精品露脸国语对白| 久久久精品日韩欧美| 国产乱码精品1区2区3区| 26uuu欧美| 激情综合五月婷婷| 亚洲精品一区二区三区精华液| 蜜乳av一区二区| 精品福利一二区|