Table of Content
Български English 简体中文 Spanish Ελληνικά
Русский
Как се използва QPushButton
Общ преглед
Чрез QPushButton [doc.qt.nokia.com] могат да създават и управляват бутони. Този клас е лесен за употреба и персонализиране, поради което е сред най-популярните класове в Qt. По принцип бутона показва текст, но също така може да показва и икона.
QPushButton наследява QAbstractButton [doc.qt.nokia.com], който наследява QWidget [doc.qt.nokia.com].
Сигнали
Наследени от QAbstractButton
- void clicked ( bool checked = false )
- void pressed ()
- void released ()
- void toggled ( bool checked )
Наследени от QWidget
- void customContextMenuRequested ( const QPoint & pos )
Наследени от QObject
- void destroyed ( QObject * obj = 0 )
Основна употреба
Текст
Текст на QPushButton може да бъде зададен при създаването му или чрез setText() [doc.qt.nokia.com]. За да достъпите текста, който е сложен в момента на бутона използвайте text() [doc.qt.nokia.com].
Икона
Както текст, така и икона може да се зададе при създаване на QPushButton. След това иконата може да бъде сменете посредством setIcon() [doc.qt.nokia.com]. За да достъпите иконата, която е сложена на бутон използвайте icon() [doc.qt.nokia.com]
Настройване на позиция и икона
To set the position and the size of the button use setGeometry() [doc.qt.nokia.com]. Ако желаете само да промените размера на бутона използвайте resize() [doc.qt.nokia.com].
Управление на бутона
QPushButton излючва сигнали, ако се настъпи някакво събитие. За да управлявате бутона трябва да свържете подходящия сигнал към слот:
- connect(m_pButton, SIGNAL(released()),this, SLOT(handleButton()));
Пример
Следният прост примерен код показва как се създава и използва QPushButton. Тестван е на Qt Symbian Simulator.
Създава се инстанция на QPushButton. Сигналът released() се свързва със слота handleButton(), който променя текста и размера на прозореца при първо натискате на бутона.
mainwindow.h
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QtGui/QMainWindow>
- #include <QPushButton>
- namespace Ui {
- class MainWindow;
- }
- {
- Q_OBJECT
- public:
- virtual ~MainWindow();
- private slots:
- void handleButton();
- private:
- };
- #endif // MAINWINDOW_H
mainwindow.cpp
- #include "mainwindow.h"
- #include <QtCore/QCoreApplication>
- {
- //Create the button
- //set size and location of the button
- //Connect button signal to appropriate slot
- connect(m_pButton, SIGNAL(released()),this, SLOT(handleButton()));
- }
- void MainWindow::handleButton()
- {
- //change the text
- m_pButton->setText("Example");
- //resize button
- m_pButton->resize(100,100);
- }
- MainWindow::~MainWindow()
- {
- }
main.cpp
- #include "mainwindow.h"
- #include <QtGui/QApplication>
- int main(int argc, char *argv[])
- {
- MainWindow mainWindow;
- mainWindow.showMaximized();
- return app.exec();
- }

