小弟从VC转QT,,,4。2。2初学,现在用DESIGNER设计出一窗口,然后按照论坛上看篇<学习QT4初步编程>(真的很感谢那位兄台),做,编译没问题,,t窗口菜单都出来了,可是就 是点菜单,无响应,请大家帮忙看看问题出在哪?
mywindow.h
/********************************************************************************
** Form generated from reading ui file 'mywindow.ui'
**
** Created: Thu Jan 11 17:39:10 2007
** by: Qt User Interface Compiler version 4.2.2
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/
#ifndef UI_MYWINDOW_H
#define UI_MYWINDOW_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QStatusBar>
#include <QtGui/QTextEdit>
#include <QtGui/QWidget>
#include <QFileDialog>
class My_MainWindow:public QMainWindow
{
public:
QAction *actionNew;
QAction *actionOpen;
QAction *actionExit;
QAction *actionCopy;
QAction *actionPast;
QAction *actionHelp;
QWidget *centralwidget;
QTextEdit *textEdit;
QMenuBar *menubar;
QMenu *menuFile;
QMenu *menuHelp;
QMenu *menuEdit;
QStatusBar *statusbar;
My_MainWindow();
void retranslateUi(QMainWindow *MainWindow);
public slots:
void openfile();
void message();
};
#endif // UI_MYWINDOW_H
mywindow.cpp
#include "mywindow.h"
#include <QDialog>
#include <QMessageBox>
My_MainWindow::My_MainWindow()
{
this->setObjectName(QString::fromUtf8("MainWindow"));
actionNew = new QAction(this);
actionNew->setObjectName(QString::fromUtf8("actionNew"));
actionOpen = new QAction(this);
actionOpen->setObjectName(QString::fromUtf8("actionOpen"));
actionExit = new QAction(this);
actionExit->setObjectName(QString::fromUtf8("actionExit"));
actionCopy = new QAction(this);
actionCopy->setObjectName(QString::fromUtf8("actionCopy"));
actionPast = new QAction(this);
actionPast->setObjectName(QString::fromUtf8("actionPast"));
actionHelp = new QAction(this);
actionHelp->setObjectName(QString::fromUtf8("actionHelp"));
centralwidget = new QWidget(this);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
textEdit = new QTextEdit(centralwidget);
textEdit->setObjectName(QString::fromUtf8("textEdit"));
textEdit->setGeometry(QRect(0, 0, 801, 551));
this->setCentralWidget(centralwidget);
menubar = new QMenuBar(this);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 800, 28));
menuFile = new QMenu(menubar);
menuFile->setObjectName(QString::fromUtf8("menuFile"));
menuHelp = new QMenu(menubar);
menuHelp->setObjectName(QString::fromUtf8("menuHelp"));
menuEdit = new QMenu(menubar);
menuEdit->setObjectName(QString::fromUtf8("menuEdit"));
this->setMenuBar(menubar);
statusbar = new QStatusBar(this);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
this->setStatusBar(statusbar);
menubar->addAction(menuFile->menuAction());
menubar->addAction(menuEdit->menuAction());
menubar->addAction(menuHelp->menuAction());
menuFile->addAction(actionNew);
menuFile->addAction(actionOpen);
menuFile->addAction(actionExit);
menuHelp->addAction(actionHelp);
menuEdit->addAction(actionCopy);
menuEdit->addAction(actionPast);
retranslateUi(this);
QSize size(800, 600);
size = size.expandedTo(this->minimumSizeHint());
this->resize(size);
// QMetaObject::connectSlotsByName(this);
connect(actionOpen,SIGNAL(triggered()),this,SLOT(openfile()));
connect(actionNew,SIGNAL(triggered(true)),this,SLOT(message()));
} // setupUi
void My_MainWindow::retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
actionNew->setText(QApplication::translate("MainWindow", "New", 0, QApplication::UnicodeUTF8));
actionOpen->setText(QApplication::translate("MainWindow", "Open", 0, QApplication::UnicodeUTF8));
actionExit->setText(QApplication::translate("MainWindow", "Exit", 0, QApplication::UnicodeUTF8));
actionCopy->setText(QApplication::translate("MainWindow", "Copy", 0, QApplication::UnicodeUTF8));
actionPast->setText(QApplication::translate("MainWindow", "Past", 0, QApplication::UnicodeUTF8));
actionHelp->setText(QApplication::translate("MainWindow", "Help", 0, QApplication::UnicodeUTF8));
menuFile->setTitle(QApplication::translate("MainWindow", "File", 0, QApplication::UnicodeUTF8));
menuHelp->setTitle(QApplication::translate("MainWindow", "Help", 0, QApplication::UnicodeUTF8));
menuEdit->setTitle(QApplication::translate("MainWindow", "Edit", 0, QApplication::UnicodeUTF8));
} // retranslateUi
void My_MainWindow::openfile()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
"/home/",
tr("Images (*.txt *.xpm *.jpg)"));
}
void My_MainWindow::message()
{
int ret = QMessageBox::warning(this, tr("My Application"),
tr("The document has been modified.\n"
"Do you want to save your changes?"),
QMessageBox::Save | QMessageBox::Discard
| QMessageBox::Cancel,
QMessageBox::Save);
}
[ 此贴被XChinux在2007-01-12 14:34重新编辑 ]