How to Use QPushButton/ru: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
'''Русский''' [[How to Use QPushButton|English]] [[How to Use QPushButton Bulgarian|Български]] [[How to Use QPushButton Spanish|Spanish]] [[How to Use QPushButton SimplifiedChinese|简体中文]] [[How to Use QPushButton Greek|Ελληνικά]]
[[Category:Developing with Qt::General]]<br />[[Category:HowTo]]<br />[[Category:Snippets]]<br />[[Category:Tutorial]]


=Использование QPushButton=
[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]


==QPushButton обзор==
'''Русский''' [[How_to_Use_QPushButton|English]] [[How_to_Use_QPushButton_Bulgarian|Български]] [[How_to_Use_QPushButton_Spanish|Spanish]] [[How_to_Use_QPushButton_SimplifiedChinese|简体中文]] [[How_to_Use_QPushButton_Greek|Ελληνικά]]


Используя [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] ''[qt.io]'' разработчики могут создавать и управлять кнопками. Этот класс является простым в использовании и настройке, поэтому это один из самых полезных классов в Qt. В основном кнопка отображает текст, но также может отображаться и иконка.
= Использование QPushButton =


QPushButton наследует [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html QAbstractButton] ''[qt.io]'' который в свою очередь наследует [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget] ''[qt.io]''.
== QPushButton обзор ==


==Сигналы==
Используя &quot;QPushButton&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html разработчики могут создавать и управлять кнопками. Этот класс является простым в использовании и настройке, поэтому это один из самых полезных классов в Qt. В основном кнопка отображает текст, но также может отображаться и иконка.


===Унаследованные от QAbstractButton===
QPushButton наследует &quot;QAbstractButton&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html который в свою очередь наследует &quot;QWidget&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html.


===Унаследованные от QWidget===
== Сигналы ==


===Унаследованные от QObject===
=== Унаследованные от QAbstractButton ===


==Основное использование==
* <code>void clicked( bool checked = false )<code>
* </code>void pressed ()</code>
* <code>void released ()<code>
* </code>void toggled( bool checked )</code>


===Текст===
=== Унаследованные от QWidget ===


Текст QPushButton может быть установлен при создании или использовании [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop setText()] ''[qt.io]''. Для получения текущего текста кнопки используйте [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop text()] ''[qt.io]''.
* <code>void customContextMenuRequested ( const QPoint &amp; pos )<code>


===Иконка===
=== Унаследованные от QObject ===


Икона QPushButton также может быть установлена при создании. После создания кнопки, иконку можно изменить с помощью [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop setIcon()] ''[qt.io]''. Для получения текущей иконки кнопки используйте [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop icon()] ''[qt.io]''
* </code>void destroyed ( QObject * obj = 0 )</code>


===Установка позиции и размера===
== Основное использование ==


Чтобы задать позицию и размер кнопки используйте [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop setGeometry()] ''[qt.io]''. Если вы хотите просто изменить размер кнопки используйте [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop resize()] ''[qt.io]''.
=== Текст ===


===Обработка сигналов кнопки===
Текст QPushButton может быть установлен при создании или использовании &quot;setText()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop. Для получения текущего текста кнопки используйте &quot;text()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.
 
=== Иконка ===
 
Икона QPushButton также может быть установлена при создании. После создания кнопки, иконку можно изменить с помощью &quot;setIcon()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop. Для получения текущей иконки кнопки используйте &quot;icon()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop
 
=== Установка позиции и размера ===
 
Чтобы задать позицию и размер кнопки используйте &quot;setGeometry()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop. Если вы хотите просто изменить размер кнопки используйте &quot;resize()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop.
 
=== Обработка сигналов кнопки ===


QPushButton высылает сигналы, если происходит событие. Для обработки сигналов кнопки необходимо подключить соответствующий сигнал к слоту. Например:
QPushButton высылает сигналы, если происходит событие. Для обработки сигналов кнопки необходимо подключить соответствующий сигнал к слоту. Например:


==Пример==
<code>connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));<code>
 
== Пример ==


Следующий простой фрагмент кода показывает, как создавать и использовать QPushButton. Это было проверено на Qt Symbian Simulator.
Следующий простой фрагмент кода показывает, как создавать и использовать QPushButton. Это было проверено на Qt Symbian Simulator.
Line 41: Line 56:
Создается экземпляр QPushButton. Сигнал '''released()''' соединятся со слотом '''handleButton()''' который изменяет текст и размер кнопки.
Создается экземпляр QPushButton. Сигнал '''released()''' соединятся со слотом '''handleButton()''' который изменяет текст и размер кнопки.


===mainwindow.h===
=== mainwindow.h ===
 
</code><br />#ifndef MAINWINDOW_H<br />#define MAINWINDOW_H
 
#include &lt;QtGui/QMainWindow&amp;gt;<br />#include &lt;QtGui/QPushButton&amp;gt;
 
namespace Ui {<br /> class MainWindow;<br />}
 
class MainWindow : public QMainWindow<br />{<br /> Q_OBJECT
 
public:<br /> explicit MainWindow(QWidget *parent = 0);<br /> virtual ~MainWindow();
 
private slots:<br /> void handleButton();
 
private:<br /> QPushButton *m_button;<br />};
 
#endif // MAINWINDOW_H<br /><code>
 
=== mainwindow.cpp ===
 
</code><br />#include &quot;mainwindow.h&amp;quot;
 
#include &lt;QtCore/QCoreApplication&amp;gt;
 
MainWindow::MainWindow(QWidget *parent)<br /> : QMainWindow(parent)<br />{<br /> // создаем кнопку<br /> m_button = new QPushButton(&quot;My Button&amp;quot;, this);<br /> // устанавливаем размер и положение кнопки<br /> m_button-&gt;setGeometry(QRect(QPoint(100, 100),<br /> QSize(200, 50)));
 
// подключаем сигнал к соответствующему слоту<br /> connect(m_button, SIGNAL (released()), this, SLOT (handleButton()));<br />}
 
void MainWindow::handleButton()<br />{<br /> // меняем текст<br /> m_button-&gt;setText(&quot;Example&amp;quot;);<br /> // изменяем размер кнопки<br /> m_button-&gt;resize(100,100);<br />}
 
MainWindow::~MainWindow()<br />{
 
}<br /><code>
 
=== main.cpp ===
 
</code><br />#include &quot;mainwindow.h&amp;quot;


===mainwindow.cpp===
#include &lt;QtGui/QApplication&amp;gt;


===main.cpp===
int main(int argc, char *argv[])<br />{<br /> QApplication app(argc, argv);


==Смотрите также==
MainWindow mainWindow;<br /> mainWindow.showMaximized();<br /> return app.exec&amp;amp;#40;&amp;#41;;<br />}


[http://developer.qt.nokia.com/wiki/Qt_Buttons Qt Buttons] ''[developer.qt.nokia.com]''<br />[http://developer.qt.nokia.com/wiki/Basic_Qt_Programming_Tutorial Basic Qt Programming Tutorial] ''[developer.qt.nokia.com]''
<code>


===Categories:===
== Смотрите также ==


* [[:Category:Developing-with-Qt|Developing with Qt]]
&quot;Qt Buttons&amp;quot;:http://developer.qt.nokia.com/wiki/Qt_Buttons<br />&quot;Basic Qt Programming Tutorial&amp;quot;:http://developer.qt.nokia.com/wiki/Basic_Qt_Programming_Tutorial
** [[:Category:Developing-with-Qt::General|General]]
* [[:Category:HowTo|HowTo]]
* [[:Category:snippets|snippets]]
* [[:Category:Tutorial|Tutorial]]

Revision as of 08:53, 24 February 2015




[toc align_right="yes&quot; depth="3&quot;]

Русский English Български Spanish 简体中文 Ελληνικά

Использование QPushButton

QPushButton обзор

Используя "QPushButton&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html разработчики могут создавать и управлять кнопками. Этот класс является простым в использовании и настройке, поэтому это один из самых полезных классов в Qt. В основном кнопка отображает текст, но также может отображаться и иконка.

QPushButton наследует "QAbstractButton&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html который в свою очередь наследует "QWidget&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html.

Сигналы

Унаследованные от QAbstractButton

  • void clicked( bool checked = false )<code>
    *
    
    void pressed ()
  • void released ()<code>
    *
    
    void toggled( bool checked )

Унаследованные от QWidget

  • void customContextMenuRequested ( const QPoint &amp; pos )<code>
    
    === Унаследованные от QObject ===
    
    *
    
    void destroyed ( QObject * obj = 0 )

Основное использование

Текст

Текст QPushButton может быть установлен при создании или использовании "setText()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop. Для получения текущего текста кнопки используйте "text()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop.

Иконка

Икона QPushButton также может быть установлена при создании. После создания кнопки, иконку можно изменить с помощью "setIcon()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop. Для получения текущей иконки кнопки используйте "icon()":http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop

Установка позиции и размера

Чтобы задать позицию и размер кнопки используйте "setGeometry()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#geometry-prop. Если вы хотите просто изменить размер кнопки используйте "resize()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#size-prop.

Обработка сигналов кнопки

QPushButton высылает сигналы, если происходит событие. Для обработки сигналов кнопки необходимо подключить соответствующий сигнал к слоту. Например:

connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));<code>

== Пример ==

Следующий простой фрагмент кода показывает, как создавать и использовать QPushButton. Это было проверено на Qt Symbian Simulator.

Создается экземпляр QPushButton. Сигнал '''released()''' соединятся со слотом '''handleButton()''' который изменяет текст и размер кнопки.

=== mainwindow.h ===


#ifndef MAINWINDOW_H
#define MAINWINDOW_H

  1. include <QtGui/QMainWindow&gt;
    #include <QtGui/QPushButton&gt;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
virtual ~MainWindow();

private slots:
void handleButton();

private:
QPushButton *m_button;
};

  1. endif // MAINWINDOW_H
    === mainwindow.cpp ===
    

    #include "mainwindow.h&quot;
  1. include <QtCore/QCoreApplication&gt;

MainWindow::MainWindow(QWidget *parent)
 : QMainWindow(parent)
{
// создаем кнопку
m_button = new QPushButton("My Button&quot;, this);
// устанавливаем размер и положение кнопки
m_button->setGeometry(QRect(QPoint(100, 100),
QSize(200, 50)));

// подключаем сигнал к соответствующему слоту
connect(m_button, SIGNAL (released()), this, SLOT (handleButton()));
}

void MainWindow::handleButton()
{
// меняем текст
m_button->setText("Example&quot;);
// изменяем размер кнопки
m_button->resize(100,100);
}

MainWindow::~MainWindow()
{

}

=== main.cpp ===


#include "mainwindow.h&quot;

  1. include <QtGui/QApplication&gt;

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

MainWindow mainWindow;
mainWindow.showMaximized();
return app.exec&amp;#40;&#41;;
}

Смотрите также

"Qt Buttons&quot;:http://developer.qt.nokia.com/wiki/Qt_Buttons
"Basic Qt Programming Tutorial&quot;:http://developer.qt.nokia.com/wiki/Basic_Qt_Programming_Tutorial