• 11052阅读
  • 8回复

【提问】如何做…按一button…彈出一個視窗 [复制链接]

上一主题 下一主题
离线btopcst
 
只看楼主 倒序阅读 楼主  发表于: 2005-11-26
///////////////////////qt.h//////////////////////////////
#ifndef MY_WIDGET_H
#define MY_WIDGET_H
#include <qvariant.h>
#include <qdialog.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QPushButton;
class my_widget : public QDialog
{
  Q_OBJECT

public:
  my_widget( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
  ~my_widget();

  QPushButton* pushButton;

protected:

protected slots:
  virtual void languageChange();
};
#endif // MY_WDGET_H
/////////////////////////////////qt.cpp///////////////////////////////
#include "qt.h"
#include <qvariant.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>

my_widget::my_widget( QWidget* parent, const char* name, bool modal, WFlags fl )
  : QDialog( parent, name, modal, fl )

{
  pushButton = new QPushButton( this, "pushButton" );
  pushButton->setGeometry( QRect( 120, 150, 121, 41 ) );
  languageChange();
}
my_widget::~my_widget()
{
}
void my_widget::languageChange()
{
  setCaption( tr( "QT" ) );
  pushButton->setText( tr( "Button" ) );
}
///////////////////////////////main.cpp/////////////////////////
#include<qapplication.h>
#include"qt.h"
int main(int argc,char **argv)
{
  QApplication app(argc,argv);
  my_widget mw;
  app.setMainWidget(&mw);
  mw.resize(352,288);
  mw.show();
  return app.exec();
}
////////////////////問題//////////////////////////////////
上面三個程式…只是在一個視窗裡放一個button…

我想要做的是…如何在按下button後…再彈出一個視窗…

如果會的話…能否教我…謝謝
[ 此贴被XChinux在2005-11-26 08:52重新编辑 ]
离线fanyu
只看该作者 1楼 发表于: 2005-11-26
Untitled
#ifndef MY_WIDGET_H
#define MY_WIDGET_H
#include <qvariant.h>
#include <qdialog.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QPushButton;
class my_widget : public QWidget
{
  Q_OBJECT
public:
  my_widget( QWidget* parent = 0,  Qt::WFlags fl = 0 );
  ~my_widget();
  QPushButton* pushButton;
protected:
protected slots:
  virtual void languageChange();
public slots:
	void ShowForm();
};
#endif // MY_WDGET_H

离线fanyu
只看该作者 2楼 发表于: 2005-11-26
Untitled
/////////////////////////////////qt.cpp///////////////////////////////
#include "qt.h"
#include <qvariant.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qapplication.h>
#include <QMessageBox.h>
my_widget::my_widget( QWidget* parent, Qt::WFlags fl )
  : QWidget( parent, fl )
{
  pushButton = new QPushButton( "pushButton",this );
  pushButton->setGeometry( QRect( 120, 150, 121, 41 ) );
  languageChange();
   QObject::connect( pushButton, SIGNAL(clicked()), this, SLOT(ShowForm()) );
}
my_widget::~my_widget()
{
}
void my_widget::languageChange()
{
  pushButton->setText( tr( "Button" ) );
}
void my_widget::ShowForm()
	{

QMessageBox *a=new QMessageBox(this);	
a->about(this,"111","ddd");
	}

离线fanyu
只看该作者 3楼 发表于: 2005-11-26
Untitled
///////////////////////////////main.cpp/////////////////////////
#include<qapplication.h>
#include"qt.h"
int main(int argc,char **argv)
{
  QApplication app(argc,argv);
  my_widget mw;
  
  mw.resize(352,288);
  mw.show();
  return app.exec();
}

离线fanyu
只看该作者 4楼 发表于: 2005-11-26
以上代码是Qt 4的代码,在MingW下编译通过。
离线fanyu
只看该作者 5楼 发表于: 2005-11-26
qt 4的运行库在ftp站点上有。
附件: test.rar (14 K) 下载次数:21
离线running
只看该作者 6楼 发表于: 2005-11-26
请参考如下:
本版里的"修罗王1981 problem:两程序间的通讯"
离线btopcst
只看该作者 7楼 发表于: 2005-11-26
謝謝反語的幫忙…讓我想通…雖然只是一個
小小的程式…但是也能爽一下…呵呵…
/////////////////////interface.h////////////////
#ifndef MY_WIDGET_H
#define MY_WIDGET_H
#include <qvariant.h>
#include <qdialog.h>
#include"point.h"
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QPushButton;
class my_widget : public QDialog
{
  Q_OBJECT
public:
  my_widget( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
  ~my_widget();
  QPushButton* pushButton;
  DrawView *draw;

protected:
protected slots:
  virtual void languageChange();
};
#endif // MY_WDGET_H
/////////////////////interface.cpp//////////////
#include "interface.h"
#include <qvariant.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
my_widget::my_widget( QWidget* parent, const char* name, bool modal, WFlags fl )
  : QDialog( parent, name, modal, fl )

{
  pushButton = new QPushButton( this, "pushButton" );
  pushButton->setGeometry( QRect( 120, 150, 121, 41 ) );
  languageChange();
  draw = new DrawView();
  draw->setCaption("Drawdemo");
  draw->resize(352,288);
  QObject::connect( pushButton, SIGNAL(clicked()), this, SLOT(ShowForm()) );
}
my_widget::~my_widget()
{
}
void my_widget::languageChange()
{
  setCaption( tr( "QT" ) );
  pushButton->setText( tr( "Button" ) );
}
/////////////////////point.h////////////////////////////
#include <qprinter.h>
#include <qpushbutton.h>
#include <qradiobutton.h>
#include <qbuttongroup.h>
#include <qapplication.h>
#include <math.h>
#include <qpixmap.h>
#include <qrect.h>
#include <stdio.h>
class DrawView : public QWidget
{
  Q_OBJECT
public:
  DrawView();
  ~DrawView();
};
////////////////////////point.cpp//////////////////////////
#include "point.h"
DrawView::DrawView()
{
     setCaption( "Qt Draw Demo Application" );
       setBackgroundColor( white );
}
DrawView::~DrawView()
{      
}
//////////////////////////main.cpp//////////////////////
#include<qapplication.h>
#include"interface.h"
int main(int argc,char **argv)
{
  QApplication app(argc,argv);
  my_widget mw;
  app.setMainWidget(&mw);
  mw.resize(352,288);
  mw.show();
  return app.exec();
}
离线drowsyboy

只看该作者 8楼 发表于: 2005-11-30
学到了
快速回复
限100 字节
 
上一个 下一个