• 4154阅读
  • 1回复

<<<qt新手请大家帮忙看一下程序问题,谢谢(已解决 谢谢)>>> [复制链接]

上一主题 下一主题
离线wubo
 
只看楼主 倒序阅读 楼主  发表于: 2007-04-17
— 本帖被 XChinux 执行加亮操作(2008-07-19) —


我的问题是:CDialog是个主窗口,我放了一个TestView2在上面,我写了个新类MyTextView继承了QTextView,加了鼠标事件函数和曹函数,我想点击一下TextView2,就弹出CDialog1_1这个对话框,编译通过,但是点击后没有反映,请大家看一下,谢谢了!!!
CDialog1.cpp

#include "CDialog1.h"
#include "CDialog1_1.h"

#include <qlabel.h>
#include <qpushbutton.h>
#include <qtextview.h>
#include <qlayout.h>
#include <qvariant.h>
#include <qtooltip.h>
#include <qwhatsthis.h>

MyTextView::MyTextView(QWidget*parent,const char*name)
           :QTextView(parent,name)
{
}
void MyTextView::mousePressEvent(QMouseEvent*e)
{
if (e->button()==Qt::LeftButton) 
  emit clicked();
}
void MyTextView::LoadDialog1_1()
{
   CDialog1_1 *cdialog1_1=new CDialog1_1(this,"",TRUE);
   cdialog1_1->exec();
}

CDialog1::CDialog1( QWidget* parent,  const char* name, bool modal, WFlags fl )
    : QDialog( parent, name, modal, fl )
{...........................................................................................
MyTextView*TextView2 = new MyTextView( this, "TextView2" );
    TextView2->setGeometry( QRect( 130, 140, 130, 50 ) );
connect(TextView2,SIGNAL(clicked()),TextView2,SLOT(LoadDialog1_1()) );
................................................................
}
[ 此贴被XChinux在2008-07-19 21:45重新编辑 ]
离线aaniao999

只看该作者 1楼 发表于: 2007-04-18
应该用SHOW()函数,另外,CDialog1_1不要在那声请,主要是说用指针,指针在函数里面用很危险的,最好直接放在。H里面,由constructor function来new一个副给他,也可能是出了作用域,自动delete了
快速回复
限100 字节
 
上一个 下一个