• 6361阅读
  • 5回复

如何关联两个不同的界面 [复制链接]

上一主题 下一主题
离线limian
 
只看楼主 倒序阅读 楼主  发表于: 2007-04-12
— 本帖被 XChinux 执行加亮操作(2008-07-26) —
比如有两个界面,aa.ui  和 bb.ui  , 点击aa.ui  中的 okpushbutton, bb.ui就会弹出来

如何能实现呢
离线htyoung

只看该作者 1楼 发表于: 2007-04-12
看看这个example:
http://www.qtcn.org/bbs/read.php?tid=7709
也许有你要的答案。
***
QT5
***
离线adam
只看该作者 2楼 发表于: 2007-04-13
页面打不开
这个我也想知道,如果得到答案,麻烦告知一声,感激不尽,谢谢~~
我QQ:309749211
离线qqlongwen

只看该作者 3楼 发表于: 2007-04-13
uic 1.ui -o 1.h
////////////////
#include <QtGui/QButtonGroup>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>
#include "2.h"
class Ui_Form:public QWidget
{
    Q_OBJECT
public:
    QPushButton *pushButton;
    Ui_Form111 *a;
  Ui_Form();
    void setupUi(QWidget *Form)
    {
    Form->setObjectName(QString::fromUtf8("Form"));
    Form->resize(QSize(400, 300).expandedTo(Form->minimumSizeHint()));
    pushButton = new QPushButton(Form);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    pushButton->setGeometry(QRect(130, 160, 90, 29));
    retranslateUi(Form);

    QMetaObject::connectSlotsByName(Form);
    } // setupUi

    void retranslateUi(QWidget *Form)
    {
    Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(Form);
    } // retranslateUi
    private slots:
        void showform();
   

};

namespace Ui {
    class Form: public Ui_Form {};
} // namespace Ui

#endif // _1_H
///////////////////
1.cpp
/////////////////////
#include"1.h"
Ui_Form::Ui_Form()
{
    setupUi(this);
    connect(pushButton, SIGNAL(clicked()),this, SLOT(showform()));
}
void Ui_Form::showform()
{
    a = new Ui_Form111();
    a->show();
}
/////////////////////////////////
uic 2.ui -o 2.h
////////////////////////////////
#ifndef _2_H
#define _2_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QWidget>

class Ui_Form111:public QWidget
{
public:
    Ui_Form111()
    {
        setupUi(this);
    }

    void setupUi(QWidget *Form111)
    {
    Form111->setObjectName(QString::fromUtf8("Form111"));
    Form111->resize(QSize(400, 300).expandedTo(Form111->minimumSizeHint()));
    retranslateUi(Form111);

    QMetaObject::connectSlotsByName(Form111);
    } // setupUi

    void retranslateUi(QWidget *Form111)
    {
    Form111->setWindowTitle(QApplication::translate("Form111", "Form", 0, QApplication::UnicodeUTF8));
    Q_UNUSED(Form111);
    } // retranslateUi

};

namespace Ui {
    class Form111: public Ui_Form111 {};
} // namespace Ui

#endif // _2_H
/////////////////////////
main.cpp
//////////////////////////////////
#include<QApplication>
#include<QWidget>
#include"1.h"
int main(int argc,char **argv)
{
    QApplication a(argc,argv);
    Ui_Form b;
    b.show();
    return a.exec();
}
离线adam
只看该作者 4楼 发表于: 2007-04-13
我照你的方法在QT Designer做了一遍,可是出来的头文件跟你 的 不 一样,编译当然也没通过,为什么呢~~~~难道菜鸟就是不行~~~可以把你 的操作步骤说一遍吗~~~~
离线chwoozy

只看该作者 5楼 发表于: 2007-04-15
试试这个链接:
http://qtcn.org/bbs/read.php?tid=7709
[ 此贴被XChinux在2008-07-26 08:39重新编辑 ]
快速回复
限100 字节
 
上一个 下一个