Encapsulates common Look and Feel of a GUI. More...
#include <qstyle.h>
Inherits QObject.
Inherited by QCommonStyle.
While it is not possible to fully enumerate the look of graphic elements and the feel of widgets in a GUI, a large number of elements are common to many widgets. The QStyle class allows the look of these elements to be modified across all widgets that use the QStyle methods. It also provides two feel options - Motif and Windows.
In previous versions of Qt, the look and feel option for widgets was specified by a single value - the GUIStyle. Starting with Qt 2.0, this notion has been expanded to allow the look to be specified by virtual drawing functions.
Derived classes may reimplement some or all of the drawing functions to modify the look of all widgets which utilize those functions.
Examples: themes/main.cpp
AddLine
- control to scroll one line down, usually an arrow button
SubLine
- control to scroll one line up, usually an arrow button
AddPage
- control to scroll one page down
SubPage
- control to scroll one page up
First
- control to scroll to top of the range
Last
- control to scroll to bottom of the range
Slider
- the slider control
NoScroll
- null value, indicates none of the visible controls
[virtual]
Destructs the style.
Returns the rectangle available for contents in a bevel button. Usually this is the entire rectangle minus the border, but it may also be smaller when you think about rounded buttons.
See also drawBevelButton().
Returns the width of the default-button indicator frame.
In this version of the Qt library, subclasses must call setButtonDefaultIndicatorWidth() to change the frame width. In a future version of Qt, this function will become virtual.
Returns the amount of whitespace between pushbutton labels and the frame in this style.
[virtual]
Returns the rectangle available for contents in a push button. Usually this is the entire rectangle minus the border, but it may also be smaller when you think about rounded buttons.
See also drawButton().
Reimplemented in QPlatinumStyle.
[virtual]
Returns the rectangle used to draw the the focus rectangle in a combo box.
Reimplemented in QMotifPlusStyle, QMotifStyle, QWindowsStyle, QSGIStyle, QPlatinumStyle and QCommonStyle.
[virtual]
Returns the rectangle available for contents in a combo box button. Usually this is the entire rectangle without the nifty menu indicator, but it may also be smaller when you think about rounded buttons.
Reimplemented in QSGIStyle, QCommonStyle, QMotifStyle, QPlatinumStyle, QWindowsStyle and QMotifPlusStyle.
[virtual]
The default frame width, usually 2.
Reimplemented in QSGIStyle, QMotifPlusStyle, QCDEStyle and QCommonStyle.
[virtual]
Draws an arrow to indicate direction. Used for example in scrollbars and spin-boxes.
[virtual]
Draws a press-sensitive shape in the style of a bevel button.
See also bevelButtonRect().
Reimplemented in QMotifStyle, QMotifPlusStyle, QPlatinumStyle, QWindowsStyle and QSGIStyle.
[virtual]
Draws a press-sensitive shape in the style of a full featured push button
See also buttonRect().
Reimplemented in QPlatinumStyle, QWindowsStyle, QMotifPlusStyle, QSGIStyle and QMotifStyle.
[virtual]
Draw the mask of a pushbutton. Useful if a rounded pushbuttons needs to be transparent because the style uses a fancy background pixmap.
See also drawButtonMask().
[virtual]
Draws a checkmark suitable for checkboxes and checkable menu items.
Reimplemented in QSGIStyle, QWindowsStyle, QMotifStyle and QPlatinumStyle.
[virtual]
Draws a press-sensitive shape in the style of a combo box or menu button.
Reimplemented in QMotifPlusStyle, QPlatinumStyle, QWindowsStyle, QMotifStyle, QCommonStyle and QSGIStyle.
[virtual]
Draw the mask of a combo box button. Useful if a rounded buttons needs to be transparent because the style uses a fancy background pixmap.
Reimplemented in QCommonStyle.
[virtual]
Draws a mark indicating the state of an exclusive choice.
Reimplemented in QSGIStyle, QMotifPlusStyle, QMotifStyle, QPlatinumStyle, QWindowsStyle and QCDEStyle.
[virtual]
Draws the mask of a mark indicating the state of an exclusive choice.
Reimplemented in QMotifStyle, QSGIStyle and QWindowsStyle.
[virtual]
Draws a mark indicating keyboard focus is on r. atBorder indicates whether the focus rectangle is at the border of an item (for example an item in a listbox). Certain styles (Motif style as the most prominent example) might have to shrink the rectangle a bit in that case to ensure that the focus rectangle is visible at all.
Reimplemented in QWindowsStyle and QMotifStyle.
[virtual]
Draws a mark indicating the state of a choice.
Reimplemented in QCDEStyle, QSGIStyle, QMotifStyle, QPlatinumStyle, QWindowsStyle and QMotifPlusStyle.
[virtual]
Draws the mask of a mark indicating the state of a choice.
Reimplemented in QPlatinumStyle and QSGIStyle.
[virtual]
Draw text or a pixmap in an area.
[virtual]
Draws a panel to separate parts of the visual interface.
Reimplemented in QSGIStyle, QMotifPlusStyle and QWindowsStyle.
[virtual]
Draws the menu item mi using the painter p. The painter is preset to the right font. maxpmw is the maximum width of all iconsets within a check column. tab specifies the minimum number of pixels necessary to draw all labels of the menu without their accelerators (which are separated by a tab character in the label text). pal is the palette, act and enabled define whether the item is active (i.e. highlighted) or enabled, respectively. Finally, x, y, w and h determine the geometry of the entire item.
Note that mi can be 0 in the case of multicolumn popup menus. In that case, drawPopupMenuItem() simply draws the appropriate item background.
Reimplemented in QMotifPlusStyle, QSGIStyle, QMotifStyle, QPlatinumStyle and QWindowsStyle.
[virtual]
Draws a panel suitable as frame for popup windows.
Reimplemented in QWindowsStyle, QPlatinumStyle and QSGIStyle.
[virtual]
Draws a pushbutton. This function will normally call drawButton() with arguments according to the current state of the pushbutton.
See also drawPushButtonLabel() and QPushButton::drawButton().
Reimplemented in QSGIStyle, QMotifPlusStyle, QPlatinumStyle, QMotifStyle and QWindowsStyle.
[virtual]
Draws the label of a pushbutton. This function will normally call drawItem() with arguments according to the current state of the pushbutton.
In reimplementations of this function, you will find pushButtonContentsRect() useful.
See also drawPushButton() and QPushButton::drawButtonLabel().
Reimplemented in QPlatinumStyle and QCommonStyle.
[virtual]
Draws a simple rectangle to separate parts of the visual interface.
[virtual]
Draws an emphasized rectangle to strongly separate parts of the visual interface.
[virtual]
Draws the given scrollbar. Used internally by QScrollbar.
The controls are either ADD_LINE, SUB_LINE, ADD_PAGE, SUB_PAGE, FIRST, LAST, SLIDER or NONE
Controls is a combination of these, activeControl is the control currently pressed down.
Reimplemented in QSGIStyle, QPlatinumStyle, QWindowsStyle, QMotifPlusStyle and QMotifStyle.
[virtual]
Draws a line to separate parts of the visual interface.
Reimplemented in QSGIStyle.
[virtual]
Draws a slider.
Reimplemented in QMotifStyle, QPlatinumStyle, QWindowsStyle, QSGIStyle and QMotifPlusStyle.
[virtual]
Draws a slider groove.
Reimplemented in QMotifPlusStyle, QMotifStyle, QWindowsStyle, QPlatinumStyle and QSGIStyle.
[virtual]
Draws the mask of a slider groove.
Reimplemented in QCommonStyle and QSGIStyle.
[virtual]
Draws the mask of a slider.
Reimplemented in QWindowsStyle, QSGIStyle, QCommonStyle and QPlatinumStyle.
[virtual]
Draws a splitter handle in the rectangle described by x, y, w, h using painter p and color group g. The orientation is orient.
See also splitterWidth().
Reimplemented in QWindowsStyle, QSGIStyle and QMotifStyle.
Draws the handle for the toolbar using the painter p with the toolbar coordinates r. orientation gives the orientation of the toolbar, and the handle is drawn highlighted if highlight is TRUE, else not. cg is the QColorGroup of the toolbar and if drawBorder is TRUE a border around the handle may be drawn.
WARNING: Because of binary compatibility this method is NOT virtual, so reimplementing it in Qt 2.x doesn't make sense. In the next major release this method will become virtual!.
[virtual]
Draws a press-sensitive shape in the style of a toolbar button
The default implementation calls drawBevelButton()
See also drawBevelButton().
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Draws a toolbutton. This function will normally call drawToolButton() with arguments according to the current state of the toolbutton.
See also QToolButton::drawButton().
[virtual]
Returns the size of the mark used to indicate exclusive choice.
Reimplemented in QSGIStyle, QWindowsStyle, QMotifPlusStyle, QPlatinumStyle and QMotifStyle.
[virtual]
Returns the extra width of a menu item mi, that means all extra pixels besides the space the menu item text requires. checkable defines, whether the menu has a check column. maxpmw is the maximum width of all iconsets within a check column and fm defines the font metrics used to draw the label. This is particularly useful to calculate a suitable size for a submenu indicator or the column separation, including the tab column used to indicate item accelerators.
Reimplemented in QMotifStyle, QPlatinumStyle and QWindowsStyle.
[virtual]
Some GUI styles shift the contents of a button when the button is down. The default implementation returns 0 for both x and y.
Reimplemented in QWindowsStyle, QPlatinumStyle, QMotifPlusStyle and QCommonStyle.
Returns an indicator to the additional "feel" component of a style. Current supported values are Qt::WindowsStyle and Qt::MotifStyle.
[virtual]
Returns the size of the mark used to indicate choice.
Reimplemented in QMotifPlusStyle, QPlatinumStyle, QMotifStyle, QSGIStyle and QWindowsStyle.
[virtual]
Returns the appropriate area within a rectangle in which to draw text or a pixmap.
[virtual]
Some feels require the scrollbar or other sliders to jump back to the original position when the mouse pointer is too far away while dragging.
This behavior can be customized with this function. The default is -1 (no jump back) while Windows requires 20 (weird jump back).
Reimplemented in QPlatinumStyle, QCommonStyle and QWindowsStyle.
Returns the width of the menu button indicator for a given button height h.
[virtual]
Late initialization of the QApplication object.
See also unPolish(QApplication*).
[virtual]
The style may have certain requirements for color palettes. In this function it has the chance to change the palette according to these requirements.
See also QPalette and QApplication::setPalette().
[virtual]
Initializes the appearance of a widget.
This function is called for every widget, after it has been fully created just before it is shown the very first time.
Reasonable actions in this function might be to set the of the widget and the background pixmap, for example. Unreasonable use would be setting the geometry!
The QWidget::inherits() function may provide enough information to allow class-specific customizations. But be careful not to hard-code things too much, as new QStyle sub-classes will be expected to work reasonably with all current and future widgets.
Reimplemented in QMotifStyle, QMotifPlusStyle and QSGIStyle.
[virtual]
Polishes the popup menu p according to the GUI style. This is usually means setting the mouse tracking ( QPopupMenu::setMouseTracking() ) and whether the menu is checkable by default ( QPopupMenu::setCheckable() ).
Reimplemented in QWindowsStyle, QMotifPlusStyle and QPlatinumStyle.
[virtual]
Returns the height of the menu item mi. checkable defines, whether the menu has a check column, fm defines the font metrics used to draw the label.
Reimplemented in QWindowsStyle, QSGIStyle, QPlatinumStyle and QMotifStyle.
[virtual]
Returns the width of the arrow indicating popup submenus. fm defines the font metrics used to draw the popup menu.
Reimplemented in QCommonStyle.
Auxiliary function to return the contents rectangle of a push button btn. The contents rectangle is the space available for the button label.
The result depends on the look (buttonRect() ), whether the button needs space for a default indicator (buttonDefaultIndicatorWidth()) and whether it is pushed down and needs to be shifted (getButtonShift()).
Returns a QSize containing the width of a vertical scrollbar and the height of a horizontal scrollbar in this style.
In this version of the Qt library, subclasses must call setScrollBarExtent() to change the extent of scrollbars. In a future version of Qt, this function will become virtual.
[virtual]
Returns the metrics of the passed scrollbar: sliderMin, sliderMax, sliderLength and buttonDim.
Reimplemented in QPlatinumStyle, QMotifStyle, QMotifPlusStyle, QSGIStyle and QWindowsStyle.
Returns the scrollbar control under the passed point.
[protected]
Sets the width of the default-button indicator frame.
In a future version of the Qt library, this function will be removed and subclasses will be able to reimplement buttonDefaultIndicatorWidth().
[protected]
Sets the button margin.
In a future version of the Qt library, this function may be removed and subclasses will be able to reimplement buttonMargin().
[protected]
Sets the width of a vertical scrollbar in this style to width and the height of a horizontal scrollbar to height. If height is negative, width will be used for both extents. By default both extents are 16 pixels.
In a future version of the Qt library, this function will be removed and subclasses will be able to reimplement scrollBarExtent().
[protected]
Sets the slider thickness.
In a future version of the Qt library, this function may be removed and subclasses will be able to reimplement sliderThickness().
[virtual]
The length of a slider.
Reimplemented in QPlatinumStyle, QWindowsStyle and QMotifStyle.
Returns the thickness of a slider in this style. The thickness is dimension perpendicular to the slider motion (e.g. the height for a horizontal slider).
[virtual]
Returns the width of a splitter handle.
See also drawSplitter().
Reimplemented in QMotifStyle, QSGIStyle and QWindowsStyle.
This function is obsolete. It is provided to keep old source working, and will probably be removed in a future version of Qt. We strongly advise against using it in new code.
Returns the extent (height or width depending on the orientation) which a toolbar handle has.
WARNING: Because of binary compatibility this method is NOT virtual, so reimplementing it in Qt 2.x doesn't make sense. In the next major release this method will become virtual!.
Returns the rectangle available for contents in a tool button. Usually this is the entire rectangle minus the border, but it may also be smaller when you think about rounded buttons.
The default implementation returns bevelButtonRect()
See also drawToolButton().
[virtual]
Redo the application polish
See also polish(QApplication*).
[virtual]
Undoes the initialization of a widget's appearance.
This function is the counterpart to polish. Is is called for every polished widget when the style is dynamically changed. The former style has to un-polish its settings before the new style can polish them again.
Reimplemented in QMotifPlusStyle and QSGIStyle.
Search the documentation, FAQ, qt-interest archive and more (uses
www.trolltech.com):
This file is part of the Qt toolkit, copyright © 1995-2000 Trolltech, all rights reserved.
Copyright İ 2000 Trolltech | Trademarks | Qt version 2.2.1
|