QT -C++小写转换成大写-QPushButton-setGeometry-QLineEdit
还会涉及信号与槽的知识:Qt 提供了信号和插槽机制,信号是一个特定的标识;一个槽就是一个函数,与一般函数不同,槽函数既能和信号关联,当某个事件出现时,通过发送信号,可以将与之相关联的槽函数激活,执行相应代码。
注意:
(1)槽函数必须是Q_OBject类的成员函数,不能为全局函数等等…
同时,信号和槽函数连接会有其他可能性
(2)一个信号可以连接多个槽函数,但是值得注意的是同时发送这一个信号会以一个不确定的顺序一个接着一个调用这些槽函数,换而言之,槽函数调用顺序无序
(3)多个信号可以连接一个槽
(4)一个信号可以与另外一个信号连接
类似于connect(sender,SIGNAL(signal1),receiver, SIGNAL(signal2));
由此发射信号1时,也会同时发送信号2.
(5)连接可以移除disconnect,实际上不需要专门移除,当对象被销毁时,会自动移除所有连接
(6)想要成功连接,那么信号和槽函数必须有相同类型,相同顺序的参数,当信号的参数比槽函数的参数多的时候,多余的参数会被忽略掉
信号与槽:
connect(sender,SIGNAL(signal),receiver, SLOT(slot));
qt中大小写转换函数:
str.toLower() ; // 转换为小写
str.toUpper() ; // 转换为大写
widget.h文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
#include <QLineEdit>
class Widget : public QWidget
{
Q_OBJECT
public slots:
void transform();
public:
Widget(QWidget *parent = 0);
~Widget();
//声明需要的子部件
QPushButton *bt;
QLineEdit *le1;//大写
QLineEdit *le2;//小写
};
#endif // WIDGET_H
main.cpp文件
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;//构造一个界面
w.show();//在显示器绘制出来
return a.exec();
}
widget.cpp文件
#include "widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent) : QWidget(parent)
{
bt= new QPushButton;
bt->setText("转换");
//物理坐标
bt->setGeometry(100,200,200,50);
bt->setParent(this);
le1= new QLineEdit;
le1->setParent(this);
le1->setText("大写:");
le1->setGeometry(100,100,200,50);
le2= new QLineEdit;
le2->setParent(this);
le2->setText("小写:");
le2->setGeometry(100,150,200,50);
connect(bt,SIGNAL(clicked(bool)),this,SLOT(transform()));
}
void Widget::transform()//大小写的转换
{
QString str(le2->text());
str=str.toUpper();
le1->setText(str);
//le2->clear();//清除小写的字
}
Widget::~Widget()
{
}
运行步骤:
2.弹出这个窗口:
3.在小写处输入小写“aaaaa”,点击转换大写处便出现了大写式样“AAAAA”
运行结果:
若有不对的地方请多多指教。一起进步