How to Use QPushButton/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(Don't #include the module prefix)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Български''' [[How to Use QPushButton|English]] [[How to Use QPushButton SimplifiedChinese|简体中文]] [[How to Use QPushButton Spanish|Spanish]] [[How to Use QPushButton Greek|Ελληνικά]]<br />[[How to Use QPushButton Russian|Русский]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}


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


==Общ преглед==


Чрез [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] ''[qt.io]'' могат да създават и управляват бутони. Този клас е лесен за употреба и персонализиране, поради което е сред най-популярните класове в Qt. По принцип бутона показва текст, но също така може да показва и икона.
'''Български''' [[How_to_Use_QPushButton|English]] [[How_to_Use_QPushButton_SimplifiedChinese|简体中文]] [[How_to_Use_QPushButton_Spanish|Spanish]] [[How_to_Use_QPushButton_Greek|Ελληνικά]]
[[How_to_Use_QPushButton_Russian|Русский]]


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 =


==Сигнали==
== Общ преглед ==


===Наследени от QAbstractButton===
Чрез [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] могат да създават и управляват бутони. Този клас е лесен за употреба и персонализиране, поради което е сред най-популярните класове в Qt. По принцип бутона показва текст, но също така може да показва и икона.
 
QPushButton наследява [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html QAbstractButton], който наследява [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget].
 
== Сигнали ==
 
=== Наследени от QAbstractButton ===


* void clicked ( bool checked = false )
* void clicked ( bool checked = false )
Line 18: Line 27:
* void toggled ( bool checked )
* void toggled ( bool checked )


===Наследени от QWidget===
=== Наследени от QWidget ===


* void customContextMenuRequested ( const QPoint &amp; pos )
* void customContextMenuRequested ( const QPoint & pos )


===Наследени от QObject===
=== Наследени от QObject ===


* void destroyed ( QObject * obj = 0 )
* void destroyed ( QObject * obj = 0 )


==Основна употреба==
== Основна употреба ==


===Текст===
=== Текст ===


Текст на 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]''.
Текст на 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()] ''[qt.io]''. За да достъпите иконата, която е сложена на бутон използвайте [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#icon-prop icon()] ''[qt.io]''
Както текст, така и икона може да се зададе при създаване на 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()]


===Настройване на позиция и икона===
=== Настройване на позиция и икона ===


To set the position and the size of the button use [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]''.
To set the position and the size of the button use [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_pButton, SIGNAL (released()),this, SLOT (handleButton()));<code>
 
= Пример =


Следният прост примерен код показва как се създава и използва QPushButton. Тестван е на Qt Symbian Simulator.
Следният прост примерен код показва как се създава и използва QPushButton. Тестван е на Qt Symbian Simulator.
Line 50: Line 61:
Създава се инстанция на 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_pButton;
};
 
#endif // MAINWINDOW_H
<code>
 
=== mainwindow.cpp ===
 
</code>
#include "mainwindow.h"
 
#include <QCoreApplication>
 
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//Create the button
m_pButton = new QPushButton("My Button", this);
//set size and location of the button
m_pButton->setGeometry(QRect( QPoint(100, 100),
QSize(200, 50) ));
 
//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()
{
 
}
<code>
 
=== main.cpp ===
 
</code>
#include "mainwindow.h"


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


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


===Categories:===
MainWindow mainWindow;
mainWindow.showMaximized();
return app.exec();
}


* [[:Category:Developing-with-Qt|Developing with Qt]]
<code>
** [[:Category:Developing-with-Qt::General|General]]
* [[:Category:HowTo|HowTo]]
* [[:Category:snippets|snippets]]
* [[:Category:Tutorial|Tutorial]]

Latest revision as of 13:26, 27 April 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 могат да създават и управляват бутони. Този клас е лесен за употреба и персонализиране, поради което е сред най-популярните класове в 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()

Настройване на позиция и икона

To set the position and the size of the button use setGeometry(). Ако желаете само да промените размера на бутона използвайте resize().

Управление на бутона

QPushButton излючва сигнали, ако се настъпи някакво събитие. За да управлявате бутона трябва да свържете подходящия сигнал към слот:

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

= Пример =

Следният прост примерен код показва как се създава и използва QPushButton. Тестван е на Qt Symbian Simulator.

Създава се инстанция на QPushButton. Сигналът '''released()''' се свързва със слота '''handleButton()''', който променя текста и размера на прозореца при първо натискате на бутона.

=== mainwindow.h ===
  1. ifndef MAINWINDOW_H
  2. define MAINWINDOW_H
  1. include <QMainWindow>
  2. 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_pButton;

};

  1. endif // MAINWINDOW_H
=== mainwindow.cpp ===
  1. include "mainwindow.h"
  1. include <QCoreApplication>

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent)

{

//Create the button
m_pButton = new QPushButton("My Button", this);
//set size and location of the button
m_pButton->setGeometry(QRect( QPoint(100, 100),
QSize(200, 50) ));

//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 ===
  1. include "mainwindow.h"
  1. include <QApplication>

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

QApplication app(argc, argv);

MainWindow mainWindow;

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

}