更多精彩内容,请见:http://www.16boke.com
by zxy,Java/C++编程交流群QQ:168424095
在上一篇文章的基础上:
(1)双击mainwindow.ui,在窗体中增加一个pushButton保存
(2)开始->运行->输入cmd回车,cd到.ui所在的位置:C:\Qt\qtcreator-2.5.0\gui\gui输入
uic -o temp.h mainwindow.ui 可以看到C:\Qt\qtcreator-2.5.0\gui\gui文件夹下多了一个temp.h文件
将此temp.h的内容替换C:\Qt\qtcreator-2.5.0\gui\gui-build-desktop-Qt_4_8_1__qmake____中ui_mainwindow.h中的内容
(3)用信号槽来处理
mainwindow.h中增加对事件槽的声明:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void on_pushButton_clicked();
};
对于click点击事件,qt中硬性规定为 on_控件ID_clicked();
例如ID为pushButton的button控件,我们只用在class的head里面写
prvate slots:
void on_pushButton_clicked();
mainwindow.cpp中增加 #include <QMessageBox>
void MainWindow::on_pushButton_clicked()
{
QMessageBox::information(this,tr("提示"),tr("点击了pushButton"));
}
支持中文修改main.cpp
#include <QApplication>
#include "mainwindow.h"
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
//设置中文开始
QTextCodec *codec = QTextCodec::codecForName("System"); //获取系统编码
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
w.show();
return a.exec();
}
更多精彩内容,请见:http://www.16boke.com