|
|
| Line 1: |
Line 1: |
| {{Cleanup | reason=Auto-imported from ExpressionEngine.}}
| | [[Category:Delete]] |
| | |
| [[Category:Developing with Qt::General]] | |
| [[Category:HowTo]]
| |
| [[Category:Snippets]]
| |
| [[Category:Tutorial]]
| |
| | |
| [toc align_right="yes" depth="3"]
| |
| | |
| '''English''' [[How_to_Use_QPushButton_Bulgarian|Български]] [[How_to_Use_QPushButton_Spanish|Spanish]] [[How_to_Use_QPushButton_SimplifiedChinese|简体中文]] [[How_to_Use_QPushButton_Greek|Ελληνικά]]
| |
| [[How_to_Use_QPushButton_Russian|Русский]][[How_to_Use_QPushButton_Persian|فارسی]]
| |
| | |
| = How to Use QPushButton =
| |
| | |
| == QPushButton Overview ==
| |
| | |
| Using [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] developers can create and handle buttons. This class is easy to use and customize so it is among the most useful classes in Qt. In general the button displays text but an icon can also be displayed.
| |
| | |
| QPushButton inherits [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html QAbstractButton] which inherits [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget].
| |
| | |
| == Signals ==
| |
| | |
| === Inherited from QAbstractButton ===
| |
| | |
| * void clicked ( bool checked = false )
| |
| * void pressed ()
| |
| * void released ()
| |
| * void toggled ( bool checked )
| |
| | |
| === Inherited from QWidget ===
| |
| | |
| * void customContextMenuRequested ( const QPoint & pos )
| |
| | |
| === Inherited from QObject ===
| |
| | |
| * void destroyed ( QObject * obj = 0 )
| |
| | |
| == Basic Usage ==
| |
| | |
| === Text ===
| |
| | |
| The text of QPushButton can be set upon creation or using [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop setText()]. To get the current text of the button use [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop text()].
| |
| | |
| === Icon ===
| |
| | |
| The icon of QPushButton can also be set upon creation. After creation the icon can be changed using [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop setIcon()] To get the current icon of the button use [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop icon()]
| |
| | |
| === Set Position and Size ===
| |
| | |
| To set the position and the size of the button use [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop setGeometry()]. If you want just to modify the size of the button use [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop resize()].
| |
| | |
| === Handle Button ===
| |
| | |
| QPushButton emits signals if an event occurs. To handle the button connect its appropriate signal to a slot:
| |
| | |
| <code>connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));<code>
| |
| | |
| == Example ==
| |
| | |
| The following simple code snippet shows how to create and use QPushButton. It has been tested on Qt Symbian Simulator.
| |
| | |
| An instance of QPushButton is created. Signal '''released()''' is connected to slot '''handleButton()''' which changes the text and the size of the button.
| |
| | |
| === mainwindow.h ===
| |
| | |
| </code>
| |
| #ifndef MAINWINDOW_H
| |
| #define MAINWINDOW_H
| |
| | |
| #include <QtGui/QMainWindow>
| |
| #include <QtGui/QPushButton>
| |
| //#include <QMainWindow>//For Qt5
| |
| //#include <QPushButton>//For Qt5
| |
| | |
| namespace Ui {
| |
| class MainWindow;
| |
| }
| |
| | |
| class MainWindow : public QMainWindow
| |
| {
| |
| Q_OBJECT
| |
| | |
| public:
| |
| explicit MainWindow(QWidget *parent = 0);
| |
| | |
| private slots:
| |
| void handleButton();
| |
| | |
| private:
| |
| QPushButton *m_button;
| |
| };
| |
| | |
| #endif // MAINWINDOW_H
| |
| <code>
| |
| | |
| === mainwindow.cpp ===
| |
| | |
| </code>
| |
| #include "mainwindow.h"
| |
| | |
| #include <QtCore/QCoreApplication>
| |
| //#include <QCoreApplication>//For Qt5
| |
| | |
| MainWindow::MainWindow(QWidget *parent)
| |
| : QMainWindow(parent)
| |
| {
| |
| // Create the button, make "this" the parent
| |
| m_button = new QPushButton("My Button", this);
| |
| // set size and location of the button
| |
| m_button->setGeometry(QRect(QPoint(100, 100),
| |
| QSize(200, 50)));
| |
| | |
| // Connect button signal to appropriate slot
| |
| connect(m_button, SIGNAL (released()), this, SLOT (handleButton()));
| |
| }
| |
| | |
| void MainWindow::handleButton()
| |
| {
| |
| // change the text
| |
| m_button->setText("Example");
| |
| // resize button
| |
| m_button->resize(100,100);
| |
| }
| |
| <code>
| |
| | |
| === main.cpp ===
| |
| | |
| </code>
| |
| #include "mainwindow.h"
| |
| | |
| #include <QtGui/QApplication>
| |
| //#include <QApplication> //For Qt5
| |
| | |
| int main(int argc, char *argv[])
| |
| {
| |
| QApplication app(argc, argv);
| |
| | |
| MainWindow mainWindow;
| |
| mainWindow.showMaximized();
| |
| return app.exec();
| |
| }
| |
| | |
| <code>
| |
| | |
| == See also ==
| |
| | |
| [http://developer.qt.nokia.com/wiki/Qt_Buttons Qt Buttons]
| |