关于Qt中QWidget的setParent的使用方法
2016-03-31 11:27
866 查看
setParent可以用来切换一个QWidget所对应的父窗口,因为Qt中所有的widget都是基于父子关系的,所以如果是布局在一个上面的,那么其子控件的parent应该是上层的QWidget,
这里特别要注意的是,setParent是有两个接口的,一个是setParent(QWidget *parent),一个是setParent(QWidget* parent, Qt::WindowFlags f),其中如果调用第一个参数的话,parent会重新设置窗口的标志位,如果希望保持原来的窗口标志位,则必须要指定一个参数。举一个简单的例子,如果你原来的窗口的标志位是Qt::Window|Qt::FramelesssWindowHint(一个自由窗体,不带边框),那么你需要将这个参数带到flags中,如果不指定的话,则会将其窗口属性修改为QWidget了(会跟父窗口合并,并且会将窗口的位置移动到(0,0)的位置。
这里特别要注意的是,setParent是有两个接口的,一个是setParent(QWidget *parent),一个是setParent(QWidget* parent, Qt::WindowFlags f),其中如果调用第一个参数的话,parent会重新设置窗口的标志位,如果希望保持原来的窗口标志位,则必须要指定一个参数。举一个简单的例子,如果你原来的窗口的标志位是Qt::Window|Qt::FramelesssWindowHint(一个自由窗体,不带边框),那么你需要将这个参数带到flags中,如果不指定的话,则会将其窗口属性修改为QWidget了(会跟父窗口合并,并且会将窗口的位置移动到(0,0)的位置。
相关文章推荐
- 关于Qt5.6连接SQL sever的一些问题
- Qt 建立带有子项目的工程
- QT中的 QPolygonF 坐标说明
- Arm开发板+Qt学习之路-开发板显示 /bin/sh: ./hello: Permission denied
- MINGW64位编译QT
- QT中QWidget、QDialog及QMainWindow的区别
- QT30 how to use QcheckBox and QRadioButton in qt
- QT28 how to display a splash screen in qt
- QT27 how to read text file and display file to a textbrowser or textedit
- QT26 show time and date
- QT24&25 how to run exe file by clicking a button in Qt
- QT23 how to open a website in a default user browser
- QT21 Display selected row from QTableView to QlineEdit
- Qt17 load sqlite table data to qtableview
- QT16 delete data from sqlite database with pushbutton
- Qt15 Update a data from Sqlite database with pushbutton
- QT14 how to save data in sqlite database with pushbutton
- Qt浅谈之四十七下拉列表菜单
- QT5: QDialog.
- VS2013+Qt5.6.0+opencv3.0环境配置