我的code如下 在magiclinux下通过
head.h
#ifndef HEAD_H
#define HEAD_H
#include <qwidget.h>
#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qlistview.h>
#include <qlineedit.h>
#include <qdialog.h>
#include <qlabel.h>
#include <qmultilineedit.h>
#include <qdir.h>
class MyDialog:public QDialog
{
Q_OBJECT
public:
MyDialog();
private:
QLabel *label;
QLineEdit *input;
QPushButton *commit;
QPushButton *cancel;
public slots:
void queding();
void quxiao();
};
class MyMainWindow:public QWidget
{
Q_OBJECT
public:
MyMainWindow();
private:
QPopupMenu *file;
QMenuBar *menubar;
QListView *listview;
MyDialog *mydialog;
QMultiLineEdit *medit;
public slots:
void open();
};
#endif
main.cpp
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
#include <qwidget.h>
#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qdir.h>
#include <qmultilineedit.h>
#include "head.h"
MyDialog::MyDialog():QDialog(0,0,TRUE)
{
setCaption("Input FilePath");
label = new QLabel(this);
label->setText("Input Path :");
label->setGeometry(10,10,80,20);
label->setFont(QFont("Arial",12,QFont::Bold));
label->setAlignment(AlignCenter);
input = new QLineEdit(this);
input->setGeometry(100,10,150,20);
input->setAlignment(AlignLeft);
commit = new QPushButton("Yes",this);
commit->setFont(QFont("Arial",14,QFont::Bold));
commit->setGeometry(20,40,90,30);
cancel = new QPushButton("Cancel",this);
cancel->setFont(QFont("Arial",14,QFont::Bold));
cancel->setGeometry(150,40,90,30);
connect(commit,SIGNAL(clicked()),this,SLOT(queding()));
connect(cancel,SIGNAL(clicked()),this,SLOT(quxiao()));
}
void MyDialog::queding()
{
this->hide();
}
void MyDialog::quxiao()
{
this->hide();
}
MyMainWindow::MyMainWindow()
{
setGeometry(200,200,400,400);
resize(170,400);
file = new QPopupMenu();
file->insertItem("&Open",this,SLOT(open()));
file->insertItem("&Quit",qApp,SLOT(quit()));
menubar = new QMenuBar(this);
menubar->insertItem("&File",file);
medit = new QMultiLineEdit(this);
medit->setGeometry(10,10,150,380);
medit->setReadOnly(TRUE);
QDir myDir("/root");
for(int i=0; i<myDir.count();i++)
{
medit->insertLine(myDir);
}
}
void MyMainWindow::open()
{
mydialog = new MyDialog();
mydialog->show();
}
int main(int argc,char **argv)
{
QApplication a(argc,argv);
MyMainWindow w;
a.setMainWidget(&w);
w.show();
return a.exec();
}