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/el: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Don't #include the module prefix)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Developing with Qt::General]]<br />[[Category:HowTo]]<br />[[Category:Snippets]]<br />[[Category:Tutorial]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}


[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]
[[Category:Developing with Qt::General]]
[[Category:HowTo]]
[[Category:Snippets]]
[[Category:Tutorial]]


'''Ελληνικά''' [[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|Русский]]
 
'''Ελληνικά''' [[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_Russian|Русский]]


= Πώς να χρησιμοποιούμε το QPushButton =
= Πώς να χρησιμοποιούμε το QPushButton =
Line 9: Line 14:
== Σύνοψη του QPushButton ==
== Σύνοψη του QPushButton ==


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


Το 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.
Το QPushButton κληρονομεί (inherits) το [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.htmlτο QAbstractButton] οποίο κληρονομεί το [http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html QWidget].


== Σήματα (Signals) ==
== Σήματα (Signals) ==
Line 24: Line 29:
=== Κληρονομούμενα από το QWidget ===
=== Κληρονομούμενα από το QWidget ===


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


=== Κληρονομούμενα από το QObject ===
=== Κληρονομούμενα από το QObject ===
Line 34: Line 39:
=== Κείμενο ===
=== Κείμενο ===


Το κείμενο του 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#text-prop setText()]. Για να πάρουμε το τρέχον κείμενο του κουμπιού χρησιμοποιούμε [http://doc.qt.io/qt-5.0/qtwidgets/qabstractbutton.html#text-prop text()].


=== Εικονίδιο ===
=== Εικονίδιο ===


Το εικονίδιο του 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
Το εικονίδιο του 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()]


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


Για να ορίσουμε τη θέση και το μέγεθος του κουμπιού χρησιμοποιούμε &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.
Για να ορίσουμε τη θέση και το μέγεθος του κουμπιού χρησιμοποιούμε [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 58: Line 63:
=== mainwindow.h ===
=== mainwindow.h ===


</code><br />#ifndef MAINWINDOW_H<br />#define MAINWINDOW_H
</code>
#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include &lt;QtGui/QMainWindow&amp;gt;<br />#include &lt;QtGui/QPushButton&amp;gt;
#include <QMainWindow>
#include <QPushButton>


namespace Ui {<br /> class MainWindow;<br />}
namespace Ui {
class MainWindow;
}


class MainWindow : public QMainWindow<br />{<br /> Q_OBJECT
class MainWindow : public QMainWindow
{
Q_OBJECT


public:<br /> explicit MainWindow(QWidget *parent = 0);<br /> virtual ~MainWindow();
public:
explicit MainWindow(QWidget *parent = 0);
virtual ~MainWindow();


private slots:<br /> void handleButton();
private slots:
void handleButton();


private:<br /> QPushButton *m_button;<br />};
private:
QPushButton *m_button;
};


#endif // MAINWINDOW_H<br /><code>
#endif // MAINWINDOW_H
<code>


=== mainwindow.cpp ===
=== mainwindow.cpp ===


</code><br />#include &quot;mainwindow.h&amp;quot;
</code>
#include "mainwindow.h"


#include &lt;QtCore/QCoreApplication&amp;gt;
#include <QCoreApplication>


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)));
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// Create the button
m_button = new QPushButton("My Button", this);
// set size and location of the button
m_button->setGeometry(QRect(QPoint(100, 100),
QSize(200, 50)));


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


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 />}
void MainWindow::handleButton()
{
// change the text
m_button->setText("Example");
// resize button
m_button->resize(100,100);
}


MainWindow::~MainWindow()<br />{
MainWindow::~MainWindow()
{


}<br /><code>
}
<code>


=== main.cpp ===
=== main.cpp ===


</code><br />#include &quot;mainwindow.h&amp;quot;
</code>
#include "mainwindow.h"


#include &lt;QtGui/QApplication&amp;gt;
#include <QApplication>


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


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


<code>
<code>
Line 104: Line 146:
== Δείτε επίσης ==
== Δείτε επίσης ==


&quot;Qt Buttons&amp;quot;:http://developer.qt.nokia.com/wiki/Qt_Buttons (στα Αγγλικά)
[http://developer.qt.nokia.com/wiki/Qt_Buttons Qt Buttons] (στα Αγγλικά)

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

Χρησιμοποιώντας το QPushButton οι developers μπορούν να δημιουργούν και να διαχειρίζονται κουμπιά (buttons). Αυτή η κλάση είναι εύκολη στη χρήση και προσαρμόσιμη έτσι είναι μεταξύ των περισσότερο χρήσιμων κλάσεων της Qt. Συνήθως ένα κουμπί εμφανίζει κείμενο, αλλά και ένα εικονίδιο μπορεί να εμφανίζεται.

Το QPushButton κληρονομεί (inherits) το QAbstractButton οποίο κληρονομεί το QWidget.

Σήματα (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(). Για να πάρουμε το τρέχον κείμενο του κουμπιού χρησιμοποιούμε text().

Εικονίδιο

Το εικονίδιο του QPushButton μπορεί επίσης να ορισθεί κατά τη δημιουργία του. Μετά τη δημιουργία το εικονίδιο μπορεί να τροποποιηθεί χρησιμοποιώντας setIcon() Για να πάρουμε το τρέχον εικονίδιο του κουμπιού χρησιμοποιούμε icon()

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

Για να ορίσουμε τη θέση και το μέγεθος του κουμπιού χρησιμοποιούμε setGeometry(). Εάν θέλουμε να τροποποιήσουμε το μέγεθος του κουμπιού χρησιμοποιούμε resize().

Χειρισμός του Κουμπιού

Το 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 ===
  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_button;

};

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

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent)

{

// Create the button
m_button = new QPushButton("My Button", 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");
// resize button
m_button->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();

}

Δείτε επίσης

Qt Buttons (στα Αγγλικά)