Qt助手---摘录
1. Qt 4.7: Qt Style Sheets Reference
List of Pseudo-States
The following pseudo-states are supported:
Pseudo-State | Description |
---|---|
This state is set when the widget resides in an active window. |
|
This state is set when the ::branch of a QTreeView is adjacent to an item. |
|
This state is set for every alternate row whe painting the row of a QAbstractItemView when QAbstractItemView::alternatingRowColors() is set to true. |
|
The item is positioned at the bottom. For example, a QTabBar that has its tabs positioned at the bottom. |
|
The item is checked. For example, the checked state of QAbstractButton. |
|
The items can be closed. For example, the QDockWidget has the QDockWidget::DockWidgetClosable feature turned on. |
|
The item is in the closed state. For example, an non-expanded item in a QTreeView |
|
The item is the default. For example, a default QPushButton or a default action in a QMenu. |
|
The item is disabled. |
|
The QComboBox is editable. |
|
The item has edit focus (See QStyle::State_HasEditFocus). This state is available only for Qt Extended applications. |
|
The item is enabled. |
|
The item is part of an exclusive item group. For example, a menu item in a exclusive QActionGroup. |
|
The item is the first (in a list). For example, the first tab in a QTabBar. |
|
The item is flat. For example, a flat QPushButton. |
|
The items can be floated. For example, the QDockWidget has the QDockWidget::DockWidgetFloatable feature turned on. |
|
The item has input focus. |
|
The item has children. For example, an item in a QTreeView that has child items. |
|
The item has siblings. For example, an item in a QTreeView that siblings. |
|
The item has horizontal orientation |
|
The mouse is hovering over the item. |
|
The item has indeterminate state. For example, a QCheckBox or QRadioButton is partially checked. |
|
The item is the last (in a list). For example, the last tab in a QTabBar. |
|
The item is positioned at the left. For example, a QTabBar that has its tabs positioned at the left. |
|
The item is maximized. For example, a maximized QMdiSubWindow. |
|
The item is in the middle (in a list). For example, a tab that is not in the beginning or the end in a QTabBar. |
|
The item is minimized. For example, a minimized QMdiSubWindow. |
|
The item can be moved around. For example, the QDockWidget has the QDockWidget::DockWidgetMovable feature turned on. |
|
The item has no frame. For example, a frameless QSpinBox or QLineEdit. |
|
The item is part of a non-exclusive item group. For example, a menu item in a non-exclusive QActionGroup. |
|
For items that can be toggled, this applies to items in the "off" state. |
|
For items that can be toggled, this applies to widgets in the "on" state. |
|
The item is the only one (in a list). For example, a lone tab in a QTabBar. |
|
The item is in the open state. For example, an expanded item in a QTreeView, or a QComboBox or QPushButton with an open menu. |
|
The next item (in a list) is selected. For example, the selected tab of a QTabBar is next to this item. |
|
The item is being pressed using the mouse. |
|
The previous item (in a list) is selected. For example, a tab in a QTabBar that is next to the selected tab. |
|
The item is marked read only or non-editable. For example, a read only QLineEdit or a non-editable QComboBox. |
|
The item is positioned at the right. For example, a QTabBar that has its tabs positioned at the right. |
|
The item is selected. For example, the selected tab in a QTabBar or the selected item in a QMenu. |
|
The item is positioned at the top. For example, a QTabBar that has its tabs positioned at the top. |
|
The item is unchecked. |
|
The item has vertical orientation. |
|
The widget is a window (i.e top level widget) |
List of Sub-Controls
The following subcontrols are available:
Sub-Control | Description |
---|---|
The button to add a line of a QScrollBar. |
|
The region between the handle (slider) and the add-line of a QScrollBar. |
|
The branch indicator of a QTreeView. |
|
The progress chunk of a QProgressBar. |
|
The close button of a QDockWidget or tabs of QTabBar |
|
The corner between two scrollbars in a QAbstractScrollArea |
|
The down arrow of a QComboBox, QHeaderView (sort indicator), QScrollBar or QSpinBox. |
|
The down button of a QScrollBar or a QSpinBox. |
|
The drop-down button of a QComboBox. |
|
The float button of a QDockWidget |
|
The groove of a QSlider. |
|
The indicator of a QAbstractItemView, a QCheckBox, a QRadioButton, a checkable QMenu item or a checkable QGroupBox. |
|
The handle (slider) of a QScrollBar, a QSplitter, or a QSlider. |
|
The icon of a QAbstractItemView or a QMenu. |
|
An item of a QAbstractItemView, a QMenuBar, a QMenu, or a QStatusBar. |
|
The left arrow of a QScrollBar. |
|
The left corner of a QTabWidget. For example, this control can be used to control position the left corner widget in a QTabWidget. |
|
The arrow of a QToolButton with a menu. |
|
The menu button of a QToolButton. |
|
The menu indicator of a QPushButton. |
|
The right arrow of a QMenu or a QScrollBar. |
|
The pane (frame) of a QTabWidget. |
|
The right corner of a QTabWidget. For example, this control can be used to control the position the right corner widget in a QTabWidget. |
|
The section of a QHeaderView. |
|
The separator of a QMenu or in a QMainWindow. |
|
The button to subtract a line of a QScrollBar. |
|
The region between the handle (slider) and the sub-line of a QScrollBar. |
|
The tab bar of a QTabWidget. This subcontrol exists only to control the position of the QTabBar inside the QTabWidget. To style the tabs using the ::tab subcontrol. |
|
The tear indicator of a QTabBar. |
|
The tear-off indicator of a QMenu. |
|
The text of a QAbstractItemView. |
|
The title of a QGroupBox or a QDockWidget. |
|
The up arrow of a QHeaderView (sort indicator), QScrollBar or a QSpinBox. |
|
The up button of a QSpinBox. |
2. QTimer
void QTimer::singleShot ( int msec, QObject * receiver, const char * member ) [static]
This static function calls a slot after a given time interval.
It is very convenient to use this function because you do not need to bother with a timerEvent or create a local QTimer object.
Example:
#include <QApplication> #include <QTimer>
#include <QApplication> #include <QTimer> int main(int argc, char *argv[]) { QApplication app(argc, argv); QTimer::singleShot(600000, &app, SLOT(quit())); ... return app.exec(); }
This sample program automatically terminates after 10 minutes (600,000 milliseconds).
The receiver is the receiving object and the member is the slot. The time interval is msec milliseconds.
singleShot : bool
This property holds whether the timer is a single-shot timer.
A single-shot timer fires only once, non-single-shot timers fire every interval milliseconds.
Access functions:
bool | isSingleShot () const |
void | setSingleShot ( bool singleShot ) |
e.g:
QTimer timer; timer.start(125); timer.setSingleShot(true);
3. QFont
font : QFont
This property holds the font currently set for the widget.
This property describes the widget's requested font. The font is used by the widget's style when rendering standard components, and is available as a means to ensure that custom widgets can maintain consistency with the native platform's look and feel. It's common that different platforms, or different styles, define different fonts for an application.
When you assign a new font to a widget, the properties from this font are combined with the widget's default font to form the widget's final font. You can call fontInfo() to get a copy of the widget's final font. The final font is also used to initialize QPainter's font.
The default depends on the system environment. QApplication maintains a system/theme font which serves as a default for all widgets. There may also be special font defaults for certain types of widgets. You can also define default fonts for widgets yourself by passing a custom font and the name of a widget to QApplication::setFont(). Finally, the font is matched against Qt's font database to find the best match.
4. QObject::installeventFilter
void QObject::installEventFilter ( QObject * filterObj )
Installs an event filter filterObj on this object. For example:
monitoredObj->installEventFilter(filterObj);
An event filter is an object that receives all events that are sent to this object. The filter can either stop the event or forward it to this object. The event filter filterObj receives events via its eventFilter() function. The eventFilter() function must return true if the event should be filtered, (i.e. stopped); otherwise it must return false.
If multiple event filters are installed on a single object, the filter that was installed last is activated first.
Here's a KeyPressEater class that eats the key presses of its monitored objects:
class KeyPressEater : public QObject
{
Q_OBJECT
...
protected:
bool eventFilter(QObject *obj, QEvent *event);
};
bool KeyPressEater::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
qDebug("Ate key press %d", keyEvent->key());
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
}
And here's how to install it on two widgets:
KeyPressEater *keyPressEater = new KeyPressEater(this); QPushButton *pushButton = new QPushButton(this); QListView *listView = new QListView(this); pushButton->installEventFilter(keyPressEater); listView->installEventFilter(keyPressEater);
The QShortcut class, for example, uses this technique to intercept shortcut key presses.
Warning: If you delete the receiver object in your eventFilter() function, be sure to return true. If you return false, Qt sends the event to the deleted object and the program will crash.
Note that the filtering object must be in the same thread as this object. If filterObj is in a different thread, this function does nothing. If either filterObj or this object are moved to a different thread after calling this function, the event filter will not be called until both objects have the same thread affinity again (it is not removed).