【发布时间】:2014-11-25 03:50:09
【问题描述】:
首先,我有两节课。
第一类称为Widget,第二类称为addItem。Widget 类是应用程序 ui 的 main class(main window),但 addItem 类只是窗口,在单击添加人员添加新联系人时出现。Widget 类还有一个名为 tableWidget 的子元素。
现在我在addItem 班级,如何访问tableWidget 元素,它是Widget 班级的孩子?
小部件类 (.h)
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
protected:
void resizeEvent(QResizeEvent *event);
private slots:
void on_delete_btn_clicked();
void on_add_btn_clicked();
private:
Ui::Widget *ui;
};
addItem 类 (.h)
namespace Ui {
class addItem;
}
class addItem : public QDialog
{
Q_OBJECT
public:
explicit addItem(QWidget *parent = 0);
~addItem();
private slots:
void on_addBtn_clicked();
private:
Ui::addItem *ui;
};
编辑
以下方法属于addItem类。
addItem.cpp:
void addItem::on_addBtn_clicked(){
emit mySignal(ui->name_txt->text(), ui->address_txt->text(), ui->phoneNum_txt->text(), ui->mobileNum_txt->text());
Widget *widget = new Widget;
connect(this, SIGNAL(mySignal(QString,QString,QString,QString)), widget, SLOT(addMyItem(QString,QString,QString,QString)));
this->close();
}
另请参阅我编写的其余代码:
addItem.h:
signals:
void mySignal(QString, QString, QString, QString);
Widget.h(主窗口):
private slots:
void addMyItem(QString, QString, QString, QString);
Widget.cpp(主窗口):
void Widget::addMyItem(QString name, QString address, QString phone_number, QString mobile_number){
qDebug() << name << "\n" << address << "\n" << phone_number << "\n" << mobile_number;
}
【问题讨论】:
标签: c++ qt class user-interface qt5