利用QT建立窗口部件
#include<QtWidgets>
int main(int argc,char *argv[]){
QApplication a(argc,argv);
QWidget *widget = new QWidget();//新建QWidget类对象,默认parent参数是0,所以它是个窗口
widget->setWindowTitle(QObject::tr("I'm widget"));//窗口标题
QLabel*label = new QLabel();//新建QLabel类对象,默认parent参数是0,所以它是个窗口
label->setWindowTitle(QObject::tr("I'm label"));
label->setText(QObject::tr("label:I'm a window"));//窗口内显示信息
label->resize(180,20);//部件大小
QLabel *label2 = new QLabel(widget);//指定父窗口为widget,不是窗口
label2->setText(QObject::tr("label2:I'm not a independent window.I'm just the subcomponent"));
label->resize(250,20);
label->show();
widget->show();//显示
int ret = a.exec();
delete label;
delete widget;
return ret;
}
要在项目中的.pro文件内加上"QT+=widgets"
更改新建对象的代码为:
#include<QtWidgets>
int main(int argc,char *argv[]){
QApplication a(argc,argv);
QWidget *widget = new QWidget(0,Qt::Dialog);
widget->setWindowTitle(QObject::tr("I'm widget"));
QLabel*label = new QLabel();
label->setWindowTitle(QObject::tr("I'm label"));
label->setText(QObject::tr("label:I'm a window"));
label->resize(180,20);
QLabel *label2 = new QLabel(0,Qt::SplashScreen);
label2->setText(QObject::tr("label2:I'm not a independent window.I'm just the subcomponent"));
label->resize(250,20);
label->show();
widget->show();
int ret = a.exec();
delete label;
delete widget;
return ret;
}
结果窗口类型的样式变成了欢迎窗口类型
再次修改
#include<QtWidgets>
int main(int argc,char *argv[]){
QApplication a(argc,argv);
QWidget *widget = new QWidget(0,Qt::Dialog | Qt::FramelessWindowHint);
widget->setWindowTitle(QObject::tr("I'm widget"));
QLabel*label = new QLabel();
label->setWindowTitle(QObject::tr("I'm label"));
label->setText(QObject::tr("label:I'm a window"));
label->resize(180,20);
QLabel *label2 = new QLabel(0,Qt::SplashScreen | Qt::WindowStaysOnBottomHint);
label2->setText(QObject::tr("label2:I'm not a independent window.I'm just the subcomponent"));
label->resize(250,20);
label->show();
widget->show();
int ret = a.exec();
delete label;
delete widget;
return ret;
}
结果窗口标题隐藏起来了