Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491362
  • 博文数量: 74
  • 博客积分: 750
  • 博客等级: 军士长
  • 技术积分: 1453
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-29 15:59
文章分类
文章存档

2014年(30)

2013年(8)

2012年(36)

分类: LINUX

2014-08-04 09:33:41

在对对话框进行实例化的时候我们会遇到这样的问题:
在继承主窗口类的时候我们一般会使用这样的继承方式。
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);
阅读(3522) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~