How to Use QPushButton/ru: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
m (тег code)
 
(8 intermediate revisions by 3 users not shown)
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|Ελληνικά]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}


=Использование QPushButton=
[[Category:Developing with Qt::General]]
[[Category:HowTo]]
[[Category:Snippets]]
[[Category:Tutorial]]


==QPushButton обзор==


Используя [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] ''[qt.io]'' разработчики могут создавать и управлять кнопками. Этот класс является простым в использовании и настройке, поэтому это один из самых полезных классов в Qt. В основном кнопка отображает текст, но также может отображаться и иконка.
'''Русский''' [[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|Ελληνικά]]


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 =


==Сигналы==
== QPushButton обзор ==


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


===Унаследованные от QWidget===
QPushButton наследует [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html QAbstractButton] который в свою очередь наследует [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>


Текст 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]''.
=== Унаследованные от QWidget ===


===Иконка===
* <code>void customContextMenuRequested ( const QPoint & pos )</code>


Икона 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]''
=== Унаследованные от QObject ===


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


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


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


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


===mainwindow.h===
=== mainwindow.h ===
 
<code>
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QPushButton>
 
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;
};
 
#endif // MAINWINDOW_H
</code>
 
=== mainwindow.cpp ===
 
<code>
#include "mainwindow.h"
 
#include <QCoreApplication>
 
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// создаем кнопку
m_button = new QPushButton("My Button", 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");
// изменяем размер кнопки
m_button->resize(100,100);
}
 
MainWindow::~MainWindow()
{
 
}
</code>
 
=== main.cpp ===
 
<code>
#include "mainwindow.h"


===mainwindow.cpp===
#include <QApplication>


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


==Смотрите также==
MainWindow mainWindow;
mainWindow.showMaximized();
return app.exec();
}


[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]]
[http://developer.qt.nokia.com/wiki/Qt_Buttons Qt Buttons]
** [[:Category:Developing-with-Qt::General|General]]
[http://developer.qt.nokia.com/wiki/Basic_Qt_Programming_Tutorial Basic Qt Programming Tutorial]
* [[:Category:HowTo|HowTo]]
* [[:Category:snippets|snippets]]
* [[:Category:Tutorial|Tutorial]]

Latest revision as of 09:22, 25 July 2015

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.


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

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

QPushButton обзор

Используя QPushButton разработчики могут создавать и управлять кнопками. Этот класс является простым в использовании и настройке, поэтому это один из самых полезных классов в Qt. В основном кнопка отображает текст, но также может отображаться и иконка.

QPushButton наследует QAbstractButton который в свою очередь наследует QWidget.

Сигналы

Унаследованные от 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(). Для получения текущего текста кнопки используйте text().

Иконка

Икона QPushButton также может быть установлена при создании. После создания кнопки, иконку можно изменить с помощью setIcon(). Для получения текущей иконки кнопки используйте icon()

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

Чтобы задать позицию и размер кнопки используйте setGeometry(). Если вы хотите просто изменить размер кнопки используйте resize().

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

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

connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));

Пример

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

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

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>

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;
};

#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"

#include <QCoreApplication>

MainWindow::MainWindow(QWidget *parent)
 : QMainWindow(parent)
{
 // создаем кнопку
 m_button = new QPushButton("My Button", 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");
 // изменяем размер кнопки
 m_button->resize(100,100);
}

MainWindow::~MainWindow()
{

}

main.cpp

#include "mainwindow.h"

#include <QApplication>

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

MainWindow mainWindow;
 mainWindow.showMaximized();
 return app.exec();
}

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

Qt Buttons Basic Qt Programming Tutorial