Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
How to Use QPushButton/ru: Difference between revisions
AutoSpider (talk | contribs) (Add "cleanup" tag) |
m (тег code) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
[[Category:Tutorial]] | [[Category:Tutorial]] | ||
'''Русский''' [[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|Ελληνικά]] | '''Русский''' [[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|Ελληνικά]] | ||
Line 14: | Line 13: | ||
== QPushButton обзор == | == QPushButton обзор == | ||
Используя | Используя [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] разработчики могут создавать и управлять кнопками. Этот класс является простым в использовании и настройке, поэтому это один из самых полезных классов в Qt. В основном кнопка отображает текст, но также может отображаться и иконка. | ||
QPushButton наследует | QPushButton наследует [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html QAbstractButton] который в свою очередь наследует [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget]. | ||
== Сигналы == | == Сигналы == | ||
Line 22: | Line 21: | ||
=== Унаследованные от QAbstractButton === | === Унаследованные от QAbstractButton === | ||
* <code>void clicked( bool checked = false )<code> | * <code>void clicked( bool checked = false )</code> | ||
* < | * <code>void pressed ()</code> | ||
* <code>void released ()<code> | * <code>void released ()</code> | ||
* < | * <code>void toggled( bool checked )</code> | ||
=== Унаследованные от QWidget === | === Унаследованные от QWidget === | ||
* <code>void customContextMenuRequested ( const QPoint & | * <code>void customContextMenuRequested ( const QPoint & pos )</code> | ||
=== Унаследованные от QObject === | === Унаследованные от QObject === | ||
* < | * <code>void destroyed ( QObject * obj = 0 )</code> | ||
== Основное использование == | == Основное использование == | ||
Line 39: | Line 38: | ||
=== Текст === | === Текст === | ||
Текст QPushButton может быть установлен при создании или использовании | Текст 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 также может быть установлена при создании. После создания кнопки, иконку можно изменить с помощью | Икона 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()]. | ||
=== Обработка сигналов кнопки === | === Обработка сигналов кнопки === | ||
Line 53: | Line 52: | ||
QPushButton высылает сигналы, если происходит событие. Для обработки сигналов кнопки необходимо подключить соответствующий сигнал к слоту. Например: | QPushButton высылает сигналы, если происходит событие. Для обработки сигналов кнопки необходимо подключить соответствующий сигнал к слоту. Например: | ||
<code>connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));<code> | <code>connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));</code> | ||
== Пример == | == Пример == | ||
Line 63: | Line 62: | ||
=== mainwindow.h === | === mainwindow.h === | ||
< | <code> | ||
#ifndef MAINWINDOW_H | #ifndef MAINWINDOW_H | ||
#define MAINWINDOW_H | #define MAINWINDOW_H | ||
#include < | #include <QMainWindow> | ||
#include < | #include <QPushButton> | ||
namespace Ui { | namespace Ui { | ||
Line 90: | Line 89: | ||
#endif // MAINWINDOW_H | #endif // MAINWINDOW_H | ||
<code> | </code> | ||
=== mainwindow.cpp === | === mainwindow.cpp === | ||
< | <code> | ||
#include "mainwindow.h" | #include "mainwindow.h" | ||
#include < | #include <QCoreApplication> | ||
MainWindow::MainWindow(QWidget *parent) | MainWindow::MainWindow(QWidget *parent) | ||
Line 124: | Line 123: | ||
} | } | ||
<code> | </code> | ||
=== main.cpp === | === main.cpp === | ||
< | <code> | ||
#include "mainwindow.h" | #include "mainwindow.h" | ||
#include < | #include <QApplication> | ||
int main(int argc, char *argv[]) | int main(int argc, char *argv[]) | ||
Line 142: | Line 141: | ||
} | } | ||
<code> | </code> | ||
== Смотрите также == | == Смотрите также == | ||
[http://developer.qt.nokia.com/wiki/Qt_Buttons Qt Buttons] | |||
[http://developer.qt.nokia.com/wiki/Basic_Qt_Programming_Tutorial Basic Qt Programming 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();
}