Qt入门-QPushButton
2014-05-12 07:48
537 查看
QPushButton是一个按键类。
[cpp] view
plaincopy
class Q_GUI_EXPORT QPushButton : public QAbstractButton
{
Q_OBJECT
构造函数:
[cpp] view
plaincopy
QPushButton ( QWidget * parent = 0 )
QPushButton ( const QString & text, QWidget * parent = 0 )
QPushButton ( const QIcon & icon, const QString & text, QWidget * parent = 0 )
常用属性和方法:
(1) QString text () const:返回按键上的文字;
(2) void setText ( const QString & text ):设置按键上的文字;
(3) bool autoDefault() const;:autoDefault属性,它会影响按键的外观;
(4) void setAutoDefault(bool);:设置autoDefault属性;
(5) bool isDefault() const;:default属性,仅在Dialog中此属性有效;
(6) void setDefault(bool);:设置default属性;
(7) void setFlat(bool);:设置FLAT属性
(8) bool isFlat() const;:设置按键的外观是否有突起。
示例:
pushBtn.h
[cpp] view
plaincopy
#ifndef __PUSHBTN_H__
#define __PUSHBTN_H__
#include <QPushButton>
#include <QMessageBox>
class PushBtn : public QPushButton
{
Q_OBJECT
public:
PushBtn(QWidget *parent = NULL):QPushButton(parent)
{
connect(this, SIGNAL(clicked()), this, SLOT(OnClicked()));
}
private slots:
void OnClicked()
{
QString str;
str = "You press " + this->text();
QMessageBox::information(this, tr("Information"), str);
}
};
#endif
main.c
[cpp] view
plaincopy
#include <QApplication>
#include <QDialog>
#include <QRect>
#include <QFont>
#include <QPushButton>
#include "PushBtn.h"
#include <QLineEdit>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog *mainWindow = new QDialog;
PushBtn *btn1 = new PushBtn(mainWindow);
btn1->setText("Button1");
btn1->setGeometry(QRect(20, 40, 80, 40));
PushBtn *btn2 = new PushBtn(mainWindow);
btn2->setText("Button2");
btn2->setGeometry(QRect(120, 40, 80, 40));
PushBtn *btn_ok = new PushBtn(mainWindow);
btn_ok->setText("OK");
btn_ok->setGeometry(QRect(100, 100, 80, 40));
mainWindow->resize(300, 150);
mainWindow->setWindowTitle("Qt Test");
mainWindow->show();
return a.exec();
}
编译运行,界面如下:
![](http://my.csdn.net/uploads/201207/19/1342686337_3626.JPG)
------------------分割线-----------------
QPushButton类有两个属性:default和autodefault属性。
(1) default属性表示当在对话框中时有“Enter”键按下时执行此按键的click()事件。它的默认值是false;
(2)autoDefault属性设置为true时会影响按键的外观(略微突出显大),它的默认值是true。
default和autoDefault区分
当在Dialog中使用时default和autoDefault属性时,不外乎下面几种情况:
(1)当前所有按键的这两个属性值均为false,则按下ENTER时无响应;
(2)若当前焦点在一个按键,并且这个按键的autoDefault为true时,则不管是否有其它按键具有default属性,若有ENTER按下时响应它。
(3)当前所有按键dufault属性为false,并且有若干按键autoDefault属性为true,当ENTER按下时响应下第一个autoDefault属性为true的按键;
(4)当前所有按键的autoDefault属性为flase时,有一个按键的dufault属性为true,当按下ENTER时响应这个按键;
(5)当所有按键的autoDefault属性为true时,有一个按键的dufault属性为true,当ENTER按下时:若当前焦点在按键按键则响应这个按键;若焦点不在任何一个按键,则响应default属性为true的按键。
[cpp] view
plaincopy
class Q_GUI_EXPORT QPushButton : public QAbstractButton
{
Q_OBJECT
构造函数:
[cpp] view
plaincopy
QPushButton ( QWidget * parent = 0 )
QPushButton ( const QString & text, QWidget * parent = 0 )
QPushButton ( const QIcon & icon, const QString & text, QWidget * parent = 0 )
常用属性和方法:
(1) QString text () const:返回按键上的文字;
(2) void setText ( const QString & text ):设置按键上的文字;
(3) bool autoDefault() const;:autoDefault属性,它会影响按键的外观;
(4) void setAutoDefault(bool);:设置autoDefault属性;
(5) bool isDefault() const;:default属性,仅在Dialog中此属性有效;
(6) void setDefault(bool);:设置default属性;
(7) void setFlat(bool);:设置FLAT属性
(8) bool isFlat() const;:设置按键的外观是否有突起。
示例:
pushBtn.h
[cpp] view
plaincopy
#ifndef __PUSHBTN_H__
#define __PUSHBTN_H__
#include <QPushButton>
#include <QMessageBox>
class PushBtn : public QPushButton
{
Q_OBJECT
public:
PushBtn(QWidget *parent = NULL):QPushButton(parent)
{
connect(this, SIGNAL(clicked()), this, SLOT(OnClicked()));
}
private slots:
void OnClicked()
{
QString str;
str = "You press " + this->text();
QMessageBox::information(this, tr("Information"), str);
}
};
#endif
main.c
[cpp] view
plaincopy
#include <QApplication>
#include <QDialog>
#include <QRect>
#include <QFont>
#include <QPushButton>
#include "PushBtn.h"
#include <QLineEdit>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog *mainWindow = new QDialog;
PushBtn *btn1 = new PushBtn(mainWindow);
btn1->setText("Button1");
btn1->setGeometry(QRect(20, 40, 80, 40));
PushBtn *btn2 = new PushBtn(mainWindow);
btn2->setText("Button2");
btn2->setGeometry(QRect(120, 40, 80, 40));
PushBtn *btn_ok = new PushBtn(mainWindow);
btn_ok->setText("OK");
btn_ok->setGeometry(QRect(100, 100, 80, 40));
mainWindow->resize(300, 150);
mainWindow->setWindowTitle("Qt Test");
mainWindow->show();
return a.exec();
}
编译运行,界面如下:
------------------分割线-----------------
QPushButton类有两个属性:default和autodefault属性。
(1) default属性表示当在对话框中时有“Enter”键按下时执行此按键的click()事件。它的默认值是false;
(2)autoDefault属性设置为true时会影响按键的外观(略微突出显大),它的默认值是true。
default和autoDefault区分
当在Dialog中使用时default和autoDefault属性时,不外乎下面几种情况:
(1)当前所有按键的这两个属性值均为false,则按下ENTER时无响应;
(2)若当前焦点在一个按键,并且这个按键的autoDefault为true时,则不管是否有其它按键具有default属性,若有ENTER按下时响应它。
(3)当前所有按键dufault属性为false,并且有若干按键autoDefault属性为true,当ENTER按下时响应下第一个autoDefault属性为true的按键;
(4)当前所有按键的autoDefault属性为flase时,有一个按键的dufault属性为true,当按下ENTER时响应这个按键;
(5)当所有按键的autoDefault属性为true时,有一个按键的dufault属性为true,当ENTER按下时:若当前焦点在按键按键则响应这个按键;若焦点不在任何一个按键,则响应default属性为true的按键。
相关文章推荐
- QT5入门之27 -QPushButton
- 【QT】QT从零入门教程(八):QT常用控件 [QLabel、QPushButton、QLineEdit、QTextEdit]
- Qt入门-QPushButton
- Qt入门-QPushButton
- Qt入门-QPushButton
- [转]Qt入门之QPushButton
- QT5+OpenCV环境搭建及入门相关
- Qt学习笔记,修改指定图片的大小,转换为QIcon用于QPushButton等控件
- Qt入门-界面多语言国际化的实现
- QT编程------VS2012配置QT环境,QT入门编程
- Qt:实现入门级英语学习软件
- Qt入门-QValidator类
- Qt入门-使用Qt中的断言
- qt creater gtk 入门
- QT入门 & QT Creator 使用
- Qt入门-列表框QListWidget类
- QT 中.pro文件的详细解释 限入门级
- topic2将学习Qt入门之信号槽概念--qt对象通信机制
- qt坐标系统与布局的简单入门