How to Use QPushButton/el: 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|简体中文]]<br />[[How to Use QPushButton Russian|Русский]]
[[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|简体中文]]<br />[[How_to_Use_QPushButton_Russian|Русский]]


Χρησιμοποιώντας το [http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html QPushButton] ''[qt.io]'' οι developers μπορούν να δημιουργούν και να διαχειρίζονται κουμπιά (buttons). Αυτή η κλάση είναι εύκολη στη χρήση και προσαρμόσιμη έτσι είναι μεταξύ των περισσότερο χρήσιμων κλάσεων της Qt. Συνήθως ένα κουμπί εμφανίζει κείμενο, αλλά και ένα εικονίδιο μπορεί να εμφανίζεται.
= Πώς να χρησιμοποιούμε το QPushButton =


Το QPushButton κληρονομεί (inherits) το [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 ==


==Σήματα (Signals)==
Χρησιμοποιώντας το &quot;QPushButton&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qpushbutton.html οι developers μπορούν να δημιουργούν και να διαχειρίζονται κουμπιά (buttons). Αυτή η κλάση είναι εύκολη στη χρήση και προσαρμόσιμη έτσι είναι μεταξύ των περισσότερο χρήσιμων κλάσεων της Qt. Συνήθως ένα κουμπί εμφανίζει κείμενο, αλλά και ένα εικονίδιο μπορεί να εμφανίζεται.


===Κληρονομούμενα από το QAbstractButton===
Το QPushButton κληρονομεί (inherits) το &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.
 
== Σήματα (Signals) ==
 
=== Κληρονομούμενα από το QAbstractButton ===


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


===Κληρονομούμενα από το QWidget===
=== Κληρονομούμενα από το QWidget ===


* void customContextMenuRequested ( const QPoint &amp; pos )
* void customContextMenuRequested ( const QPoint &amp; 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 μπορεί να ορισθεί κατά τη δημιουργία του ή χρησιμοποιώντας &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 μπορεί επίσης να ορισθεί κατά τη δημιουργία του. Μετά τη δημιουργία το εικονίδιο μπορεί να τροποποιηθεί χρησιμοποιώντας [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 μπορεί επίσης να ορισθεί κατά τη δημιουργία του. Μετά τη δημιουργία το εικονίδιο μπορεί να τροποποιηθεί χρησιμοποιώντας &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


===Ορισμός Θέσης και Μεγέθους===
=== Ορισμός Θέσης και Μεγέθους ===


Για να ορίσουμε τη θέση και το μέγεθος του κουμπιού χρησιμοποιούμε [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]''.
Για να ορίσουμε τη θέση και το μέγεθος του κουμπιού χρησιμοποιούμε &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 εκπέμπει (emits) σήματα (signals) εάν ένα συμβάν (event) λάβει χώρα. Για τον χειρισμό του κουμπιού συνδέουμε (connect) το κατάλληλο σήμα (signal) σε έναν υποδοχέα (slot):
Το QPushButton εκπέμπει (emits) σήματα (signals) εάν ένα συμβάν (event) λάβει χώρα. Για τον χειρισμό του κουμπιού συνδέουμε (connect) το κατάλληλο σήμα (signal) σε έναν υποδοχέα (slot):


==Παράδειγμα==
<code>connect(m_button, SIGNAL (released()),this, SLOT (handleButton()));<code>
 
== Παράδειγμα ==


Το ακόλουθο απλό απόσπασμα κώδικα δείχνει το τρόπο δημιουργίας και χρήσης του QPushButton. Έχει ελεγχθεί στο Qt Symbian Simulator.
Το ακόλουθο απλό απόσπασμα κώδικα δείχνει το τρόπο δημιουργίας και χρήσης του QPushButton. Έχει ελεγχθεί στο Qt Symbian Simulator.
Line 50: Line 56:
Ένα στιγμιότυπο (instance) του QPushButton δημιουργείται. Το σήμα (signal) '''released()''' συνδέεται (connect) στον υποδοχέα (slot) '''handleButton()''' ο οποίος τροποποιεί το κείμενο και το μέγεθος του κουμπιού.
Ένα στιγμιότυπο (instance) του QPushButton δημιουργείται. Το σήμα (signal) '''released()''' συνδέεται (connect) στον υποδοχέα (slot) '''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 /> // Create the button<br /> m_button = new QPushButton(&quot;My Button&amp;quot;, this);<br /> // set size and location of the button<br /> m_button-&gt;setGeometry(QRect(QPoint(100, 100),<br /> QSize(200, 50)));
 
// Connect button signal to appropriate slot<br /> connect(m_button, SIGNAL (released()), this, SLOT (handleButton()));<br />}
 
void MainWindow::handleButton()<br />{<br /> // change the text<br /> m_button-&gt;setText(&quot;Example&amp;quot;);<br /> // resize button<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 (στα Αγγλικά)
** [[:Category:Developing-with-Qt::General|General]]
* [[:Category:HowTo|HowTo]]
* [[:Category:snippets|snippets]]
* [[:Category:Tutorial|Tutorial]]

Revision as of 11:21, 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 οι developers μπορούν να δημιουργούν και να διαχειρίζονται κουμπιά (buttons). Αυτή η κλάση είναι εύκολη στη χρήση και προσαρμόσιμη έτσι είναι μεταξύ των περισσότερο χρήσιμων κλάσεων της Qt. Συνήθως ένα κουμπί εμφανίζει κείμενο, αλλά και ένα εικονίδιο μπορεί να εμφανίζεται.

Το QPushButton κληρονομεί (inherits) το "QAbstractButton&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.htmlτο οποίο κληρονομεί το "QWidget&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html.

Σήματα (Signals)

Κληρονομούμενα από το 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()":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 εκπέμπει (emits) σήματα (signals) εάν ένα συμβάν (event) λάβει χώρα. Για τον χειρισμό του κουμπιού συνδέουμε (connect) το κατάλληλο σήμα (signal) σε έναν υποδοχέα (slot):

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

== Παράδειγμα ==

Το ακόλουθο απλό απόσπασμα κώδικα δείχνει το τρόπο δημιουργίας και χρήσης του QPushButton. Έχει ελεγχθεί στο Qt Symbian Simulator.

Ένα στιγμιότυπο (instance) του QPushButton δημιουργείται. Το σήμα (signal) '''released()''' συνδέεται (connect) στον υποδοχέα (slot) '''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)
{
// Create the button
m_button = new QPushButton("My Button&quot;, this);
// set size and location of the button
m_button->setGeometry(QRect(QPoint(100, 100),
QSize(200, 50)));

// Connect button signal to appropriate slot
connect(m_button, SIGNAL (released()), this, SLOT (handleButton()));
}

void MainWindow::handleButton()
{
// change the text
m_button->setText("Example&quot;);
// resize button
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 (στα Αγγλικά)