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/es: Difference between revisions
AutoSpider (talk | contribs) (Remove non-functioning "toc" command) |
AutoSpider (talk | contribs) (Don't #include the module prefix) |
||
Line 69: | Line 69: | ||
#define MAINWINDOW_H | #define MAINWINDOW_H | ||
#include < | #include <QMainWindow> | ||
#include <QPushButton> | #include <QPushButton> | ||
Line 101: | Line 101: | ||
#include "mainwindow.h" | #include "mainwindow.h" | ||
#include < | #include <QCoreApplication> | ||
MainWindow::MainWindow(QWidget *parent) | MainWindow::MainWindow(QWidget *parent) | ||
Line 135: | Line 135: | ||
#include "mainwindow.h" | #include "mainwindow.h" | ||
#include < | #include <QApplication> | ||
int main(int argc, char *argv[]) | int main(int argc, char *argv[]) |
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. |
Spanish English Български 简体中文 Русский
Como usar QPushButton
Información general acerca de QPushButton
Usando QPushButton los desarrolladores podrán crear y manejar botones. Esta clases es fácil de usar y personalizar, por lo que es una de las clases mas útiles de Qt. Por lo general un botos muestra un texto, pero también es posible que muestre un icono.
QPushButton hereda de QAbstractButton que hereda de QWidget.
Señales (Signals)
Hereda de QAbstractButton
- void clicked ( bool checked = false )
- void pressed ()
- void released ()
- void toggled ( bool checked )
Hereda de QWidget
- void customContextMenuRequested ( const QPoint & pos )
Hereda de QObject
- void destroyed ( QObject * obj = 0 )
Uso básico
Texto
Se puede establecer el texto de un QPushButton en su creación o usando setText(). Para obtener el texto usado actualmente por el botón usamos text().
Icono
El icono de un QPushButton al igual que el texto del mismo se puede establecer en su creación. Luego también es posible cambiarlo usando setIcon() Para obtener el icono en uso actualmente use icon()
Establecer posición y tamaño
Para establecer la posición y el tamaño de un botón use setGeometry(). Si lo que busca es modificar el tamaño del botón use resize().
Manejando el botón
QPushButton emite una señal si un evento ocurre. Para manejar el botón conecte la señal apropiada a el slot:
connect(m_pButton, SIGNAL (released()),this, SLOT (handleButton()));<code>
== Ejemplo ==
El siguiente fragmento de código muestra como crear y usar un QPushButton. El mismo a sido probado en Qt Symbian Simulator
Una instancia de QPushButton es creada. La señal '''released()''' es conectada al slot '''handleButton()''' que cambia el texto y el tamaño del botón.
=== 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_pButton;
};
- endif // MAINWINDOW_H
=== mainwindow.cpp ===
- 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() {
}
=== main.cpp ===
- include "mainwindow.h"
- include <QApplication>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow mainWindow;
mainWindow.showMaximized(); return app.exec();
}
Mas información