在对对话框进行实例化的时候我们会遇到这样的问题:
在继承主窗口类的时候我们一般会使用这样的继承方式。
parent_main_windows = (MainWindow*)parent;
但是对于一般的public和protect的slot或函数是可用的,
对于priavet中的成员就失去了意义,
这个时候我们可以在实例化类中的进行这样的指定,让其父类函数
生效。这里一般可以这样的指定:
parent_main_windows = (MainWindow*)parent->parent();
如果这样的指定还没有生效。我们可以在类实例的开始直接将
其父类指定:
例如:
class My_dialog: public QDialog
{
Q_OBJECT
public:
my_dialog(QString file_name,QWidget *parent = 0);
~Delete_File_Dialog();
MainWindow *parent_main_window;
private:
QPushButton *ok_button;
QPushButton *cancel_button;
......
}
在进行实例化的时候我们这里直接指定我们的父类
My_dialog*user_dialog = new My_dialog(filename, this);
改为:
My_dialog*user_dialog = new My_dialog(filename, parent_main_window);
阅读(3566) | 评论(0) | 转发(0) |