• 5586阅读
  • 6回复

qt4界面跳转的奇怪问题... [复制链接]

上一主题 下一主题
离线mkyang0627
 
只看楼主 倒序阅读 楼主  发表于: 2009-04-13
我用qt designer做了几个界面,第一个界面按钮可以跳出第二个界面,但第二个界面用同样的方法却跳不出第三个界面了。。这是为何。。。
void MyWidget::intro()             //小店简介
{
   QWidget *w6 = new QWidget;
   sixthUi.setupUi(w6);  
   w6->show();
}

void MyWidget::buy()             //点击购买,跳出输入信息界面。。。
{
  
   QWidget *w7 = new QWidget;
   seventhUi.setupUi(w7);  
   w7->show();
}

先是一个登陆界面,点按钮是可以跳出下个界面的。。但是下个界面的按钮却无法跳出再下个界面了。。。
附件: mkyang.rar (1402 K) 下载次数:41
离线duduqq

只看该作者 1楼 发表于: 2009-04-13
把setupUi()这句去掉先,看看会不会弹出一个对话框先。
离线mkyang0627
只看该作者 2楼 发表于: 2009-04-13
弹不出,问题是我用这种写法,主窗体可以跳出第二个窗体,但是第二个窗体就跳不出第三个了。。
离线goldroc

只看该作者 3楼 发表于: 2009-04-13
原因是每次setupUi()都会创建新的组件如pushbutton,你写在构造函数中的connect连接的是原先的button。
在setupUi()后重新connect signal 即可。

QMessageBox::about(this,tr("Welcome!"),tr("Wish you pleasant shopping!"));
QWidget *w5 = new QWidget;
fifthUi.setupUi(w5);  
    connect(fifthUi.pushButton1,SIGNAL(clicked()),this,SLOT(buy()));  //添加这一行
w5->show();
this->close();
离线mkyang0627
只看该作者 4楼 发表于: 2009-04-14
这位朋友,谢谢你,问题得到了解决。。请问如何控制弹出界面的位置位于屏幕的中间呢?
离线shanyun

只看该作者 5楼 发表于: 2009-04-15
引用第4楼mkyang0627于2009-04-14 09:46发表的  :
这位朋友,谢谢你,问题得到了解决。。请问如何控制弹出界面的位置位于屏幕的中间呢?


在w6->show();之前加上一句w6->move((QApplication::desktop()->width()-w6->width())/2,(QApplication::desktop()->height()-w6->height())/2);即可对中
离线mkyang0627
只看该作者 6楼 发表于: 2009-04-15
thanks。。。
快速回复
限100 字节
 
上一个 下一个