📄 qwidget.h
字号:
virtual void styleChange( QStyle& );#endif virtual void enabledChange( bool ); virtual void backgroundColorChange( const QColor & ); virtual void backgroundPixmapChange( const QPixmap & );#ifndef QT_NO_PALETTE virtual void paletteChange( const QPalette & );#endif virtual void fontChange( const QFont & );#ifdef _WS_QWS_ void resetInputContext();#endif int metric( int ) const; virtual void create( WId = 0, bool initializeWindow = TRUE, bool destroyOldWindow = TRUE ); virtual void destroy( bool destroyWindow = TRUE, bool destroySubWindows = TRUE ); uint getWState() const; virtual void setWState( uint ); void clearWState( uint n ); WFlags getWFlags() const; virtual void setWFlags( WFlags ); void clearWFlags( WFlags n ); virtual void setFRect( const QRect & ); virtual void setCRect( const QRect & ); virtual bool focusNextPrevChild( bool next ); QWExtra *extraData(); QTLWExtra *topData(); QFocusData *focusData(); virtual void setKeyCompression(bool); virtual void setMicroFocusHint(int x, int y, int w, int h, bool text=TRUE);private slots: void focusProxyDestroyed();private: void setFontSys();#ifndef QT_NO_LAYOUT void setLayout( QLayout *l );#endif void setWinId( WId ); void showWindow(); void hideWindow(); void sendShowEventsToChildren( bool spontaneous ); void sendHideEventsToChildren( bool spontaneous ); void createTLExtra(); void createExtra(); void deleteExtra(); void createSysExtra(); void deleteSysExtra(); void createTLSysExtra(); void deleteTLSysExtra(); void deactivateWidgetCleanup(); void internalSetGeometry( int, int, int, int, bool ); void reparentFocusWidgets( QWidget * ); QFocusData *focusData( bool create ); void setBackgroundFromMode(); void setBackgroundColorDirect( const QColor & ); void setBackgroundPixmapDirect( const QPixmap & ); void setBackgroundModeDirect( BackgroundMode ); void setBackgroundEmpty();#if defined(_WS_X11_) void setBackgroundX11Relative(); void checkChildrenDnd();#endif WId winid; uint widget_state; uint widget_flags; uint propagate_font : 2; // obsolete uint propagate_palette : 2; // obsolete uint focus_policy : 4; uint own_font :1; uint own_palette :1; uint sizehint_forced :1; uint is_closing :1; uint in_show : 1; uint in_show_maximized : 1; QPoint fpos; QRect crect; QColor bg_col;#ifndef QT_NO_PALETTE QPalette pal;#endif QFont fnt;#ifndef QT_NO_LAYOUT QLayout *lay_out;#endif QWExtra *extra;#if defined(_WS_QWS_) QRegion req_region; // Requested region mutable QRegion paintable_region; // Paintable region mutable bool paintable_region_dirty;// needs to be recalculated mutable QRegion alloc_region; // Allocated region mutable bool alloc_region_dirty; // needs to be recalculated mutable int overlapping_children; // Handle overlapping children int alloc_region_index; int alloc_region_revision; void updateOverlappingChildren() const; void setChildrenAllocatedDirty(); void setChildrenAllocatedDirty( const QRegion &r, const QWidget *dirty=0 ); bool isAllocatedRegionDirty() const; void updateRequestedRegion( const QPoint &gpos ); QRegion requestedRegion() const; QRegion allocatedRegion() const; QRegion paintableRegion() const; void updateGraphicsContext( QGfx *qgfx_qws, bool clip_children ) const;#ifndef QT_NO_CURSOR void updateCursor( const QRegion &r ) const;#endif // used to accumulate dirty region when children moved/resized. QRegion dirtyChildren; bool isSettingGeometry; friend class QWSManager;#endif static void createMapper(); static void destroyMapper(); static QWidgetList *wList(); static QWidgetList *tlwList(); static QWidgetMapper *mapper; friend class QApplication; friend class QBaseApplication; friend class QPainter; friend class QFontMetrics; friend class QFontInfo; friend class QETWidget;#if 1 //was #ifdef TOTAL_LOSER_COMPILER but they all seem to be friend class QLayout;#else friend void QLayout::setWidgetLayout( QWidget *, QLayout * );#endifprivate: // Disabled copy constructor and operator=#if defined(Q_DISABLE_COPY) QWidget( const QWidget & ); QWidget &operator=( const QWidget & );#endifpublic: // obsolete functions to dissappear or to become inline in 3.0#ifndef QT_NO_PALETTE void setPalette( const QPalette &, bool iReallyMeanIt );#endif void setFont( const QFont &, bool iReallyMeanIt );#if defined(QT_EZX_MUNGE)public: /* virtual methods: ORDER IS IMPORTANT */ virtual QRect globalRect(void); virtual bool sendPackage(void); virtual int getPackageType(void); virtual void setPackageType(int); virtual QString getPtfText(void); virtual void setPtfText(QString const&); virtual QPixmap *getPtfPixmap(void); virtual void setPtfPixmap(QPixmap const&); virtual QString getPtfIconId(void); virtual void setPtfIconId(QString const&); /* Types are undetermined */ static int bflex; static int flex_set; static int pipe_open_count; static int private_pipe; static int createWritePipe(void); static int getWritePipe(void); static void closePipe(void); void setPackageType(void); void setPtfPixmap(); void setPtfPixmap(QString const&); void setPtfText(); void setPtfOverlay(QString const&); int getPacketId(void); bool getTotalRectangle(void); bool isFlexBitSet(void); void report(void); int sendPackage(int, QRect, int, int, QString, QString); void fillInHeadTime(unsigned char *pktbuf, int); int fillInIcon(unsigned char *pktbuf, QString); int fillInPayloadSend(unsigned char *pktbuf, int); void fillInRect(unsigned char *pktbuf, int, int, int, int); void fillInRect(unsigned char *pktbuf, QRect); void fillInState(unsigned char *pktbuf); int fillInText(unsigned char *pktbuf, QString); void fillInType(unsigned char *pktbuf); int m_pktid1_9c; int m_pktid2_a0; int m_pkgtype_a4; QString m_ptf_text_a8; QString m_ptf_iconid_ac; QPixmap *m_ptf_pixmap_b0; QPixmap *m_ptf_overlay_b4;#endif /* defined(QT_EZX_MUNGE) */};inline bool QWidget::testWState( uint f ) const{ return (widget_state & f) != 0; }inline bool QWidget::testWFlags( WFlags f ) const{ return (widget_flags & f) != 0; }inline WId QWidget::winId() const{ return winid; }inline bool QWidget::isTopLevel() const{ return testWFlags(WType_TopLevel); }inline bool QWidget::isModal() const{ return testWFlags(WType_Modal); }inline bool QWidget::isPopup() const{ return testWFlags(WType_Popup); }inline bool QWidget::isDesktop() const{ return testWFlags(WType_Desktop); }inline bool QWidget::isEnabled() const{ return !testWState(WState_Disabled); }inline const QRect &QWidget::geometry() const{ return crect; }inline int QWidget::x() const{ return fpos.x(); }inline int QWidget::y() const{ return fpos.y(); }inline QPoint QWidget::pos() const{ return fpos; }inline QSize QWidget::size() const{ return crect.size(); }inline int QWidget::width() const{ return crect.width(); }inline int QWidget::height() const{ return crect.height(); }inline QRect QWidget::rect() const{ return QRect(0,0,crect.width(),crect.height()); }inline int QWidget::minimumWidth() const{ return minimumSize().width(); }inline int QWidget::minimumHeight() const{ return minimumSize().height(); }inline int QWidget::maximumWidth() const{ return maximumSize().width(); }inline int QWidget::maximumHeight() const{ return maximumSize().height(); }inline void QWidget::setMinimumSize( const QSize &s ){ setMinimumSize(s.width(),s.height()); }inline void QWidget::setMaximumSize( const QSize &s ){ setMaximumSize(s.width(),s.height()); }inline void QWidget::setSizeIncrement( const QSize &s ){ setSizeIncrement(s.width(),s.height()); }inline void QWidget::setBaseSize( const QSize &s ){ setBaseSize(s.width(),s.height()); }inline const QColor &QWidget::backgroundColor() const{ return bg_col; }#ifndef QT_NO_PALETTEinline const QPalette &QWidget::palette() const{ return pal; }#endifinline QFont QWidget::font() const{ return fnt; }inline QFontMetrics QWidget::fontMetrics() const{ return QFontMetrics(font()); }inline QFontInfo QWidget::fontInfo() const{ return QFontInfo(font()); }inline bool QWidget::hasMouseTracking() const{ return testWState(WState_MouseTracking); }inline bool QWidget::isFocusEnabled() const{ return (FocusPolicy)focus_policy != NoFocus; }inline QWidget::FocusPolicy QWidget::focusPolicy() const{ return (FocusPolicy)focus_policy; }inline bool QWidget::isUpdatesEnabled() const{ return !testWState(WState_BlockUpdates); }inline void QWidget::update( const QRect &r ){ update( r.x(), r.y(), r.width(), r.height() ); }inline void QWidget::repaint(){ repaint( 0, 0, crect.width(), crect.height(), TRUE ); }inline void QWidget::repaint( bool erase ){ repaint( 0, 0, crect.width(), crect.height(), erase ); }inline void QWidget::repaint( const QRect &r, bool erase ){ repaint( r.x(), r.y(), r.width(), r.height(), erase ); }inline void QWidget::erase(){ erase( 0, 0, crect.width(), crect.height() ); }inline void QWidget::erase( const QRect &r ){ erase( r.x(), r.y(), r.width(), r.height() ); }inline bool QWidget::close(){ return close( FALSE ); }inline bool QWidget::isVisible() const{ return testWState(WState_Visible); }inline bool QWidget::isHidden() const{ return testWState(WState_ForceHide); }inline void QWidget::move( const QPoint &p ){ move( p.x(), p.y() ); }inline void QWidget::resize( const QSize &s ){ resize( s.width(), s.height()); }inline void QWidget::setGeometry( const QRect &r ){ setGeometry( r.left(), r.top(), r.width(), r.height() ); }inline void QWidget::drawText( const QPoint &p, const QString &s ){ drawText( p.x(), p.y(), s ); }inline QWidget *QWidget::parentWidget() const{ return (QWidget *)QObject::parent(); }inline QWidgetMapper *QWidget::wmapper(){ return mapper; }inline uint QWidget::getWState() const{ return widget_state; }inline void QWidget::setWState( uint f ){ widget_state |= f; }inline void QWidget::clearWState( uint f ){ widget_state &= ~f; }inline Qt::WFlags QWidget::getWFlags() const{ return widget_flags; }inline void QWidget::setWFlags( WFlags f ){ widget_flags |= f; }inline void QWidget::clearWFlags( WFlags f ){ widget_flags &= ~f; }inline void QWidget::constPolish() const{ if ( !testWState(WState_Polished) ) { QWidget* that = (QWidget*) this; that->polish(); that->setWState(WState_Polished); // be on the safe side... }}#ifndef QT_NO_CURSORinline bool QWidget::ownCursor() const{ return testWState( WState_OwnCursor );}#endifinline bool QWidget::ownFont() const{ return own_font;}#ifndef QT_NO_PALETTEinline bool QWidget::ownPalette() const{ return own_palette;}#endif// Extra QWidget data// - to minimize memory usage for members that are seldom used.// - top-level widgets have extra extra data to reduce cost furtherclass QFocusData;class QWSManager;#if defined(_WS_WIN_)class QOleDropTarget;#endifstruct QTLWExtra { QString caption; // widget caption QString iconText; // widget icon text QPixmap *icon; // widget icon QFocusData *focusData; // focus data (for TLW) QSize fsize; // rect of frame short incw, inch; // size increments uint iconic: 1; // iconified [cur. win32 only] uint fullscreen : 1; // full-screen mode uint showMode: 2; // 0 normal, 1 minimized, 2 maximized, 3 reset short basew, baseh; // base sizes#if defined(_WS_X11_) WId parentWinId; // parent window Id (valid after reparenting) uint embedded : 1; // window is embedded in another Qt application uint reserved: 2; // reserved uint dnd : 1; // DND properties installed uint uspos : 1; // User defined position uint ussize : 1; // User defined size void *xic; // XIM Input Context#endif#if defined(_WS_QWS_) && !defined ( QT_NO_QWS_MANAGER ) QRegion decor_allocated_region; // decoration allocated region QWSManager *qwsManager;#endif#if defined(_WS_WIN_) HICON winIcon; // internal Windows icon#endif QRect normalGeometry; // used by showMin/maximized/FullScreen};#define QWIDGETSIZE_MAX 32767// dear user: you can see this struct, but it is internal. do not touch.struct QWExtra { Q_INT16 minw, minh; // minimum size Q_INT16 maxw, maxh; // maximum size QPixmap *bg_pix; // background pixmap QWidget *focus_proxy;#ifndef QT_NO_CURSOR QCursor *curs;#endif QTLWExtra *topextra; // only useful for TLWs#if defined(_WS_WIN_) QOleDropTarget *dropTarget; // drop target#endif#if defined(_WS_X11_) WId xDndProxy; // XDND forwarding to embedded windows#endif#if defined(_WS_QWS_) QRegion mask; // widget mask#endif char bg_mode; // background mode#ifndef QT_NO_STYLE QStyle* style;#endif QRect micro_focus_hint; // micro focus hint QSizePolicy size_policy; void * posted_events; // in qapplication#if defined(_WS_X11_) uint children_use_dnd : 1; // one or more children have DND enabled#endif};#endif // QWIDGET_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -