小弟在按书上做的一个鼠标和按键点击 出现图片的程序里 编译老是出现'ui' was not declared in this scope, 'tr' was not declared in this scope求各位大侠给看看
mainwindow.ui
这个自己画的一个按钮和标签 其它什么也没改
main.cpp
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QTextCodec>
//#include <QObject>
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());//
QApplication a(argc, argv);
//QObject::tr();
//Ui::MainWindow *ui;
ui->label->setText(tr("按下键盘上的A 键试试!"));//
ui->pushButton->setText(tr("按下鼠标的一个键,然后移动鼠标试试"));//
/*以下是鼠标移动事件*/
void MainWindow::mouseMoveEvent(QMouseEvent *m)
{
//这里的函数名和参数不能更改
QCursor my(QPixmap("C:/Documents and Settings/Administrator/event/hq.jpg"));
//为鼠标指针选择图片,注意这里要用绝对路径,且要用“/”,而不能用“\”
// C:\Documents and Settings\Administrator\event
QApplication::setOverrideCursor(my);
//将鼠标指针更改为自己设置的图片
int x = m->pos().x();
int y = m->pos().y();
//获取鼠标现在的位置坐标
ui->pushButton->setText(tr("鼠标现在的坐标是(%1,%2),哈哈好玩吧 ").arg(x).arg(y));
//将鼠标的位置坐标显示在按钮上
ui->pushButton->move(m->pos());
//让按钮跟随鼠标移动
}
/*以下是键盘按下事件*/
void MainWindow::keyPressEvent(QKeyEvent *k)
{
if(k->key() == Qt::Key_A) //判断是否是A 键按下
{
ui->label->setPixmap(QPixmap("C:/Documents and Settings/Administrator/event/hqq.jpg"));
ui->label->resize(100,100);
//更改标签图片和大小
}
}
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QtGui>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<QtGui>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
void mouseMoveEvent(QMouseEvent *);//
void keyPressEvent(QKeyEvent *);//
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H