QT学习笔记-2021-1-22
菜单栏
创建菜单栏:QMenuBar *menu = new QMenuBar(this);
在菜单栏里创建选项: QMenu *fliemenu = menu->addMenu(“文件”);
在菜单选项里创建子选项: fliemenu->addAction(“新建”);
添加分割线:fliemenu->addSeparator();
添加菜单栏到窗口中:setMenuBar(menu);
工具栏
在当前窗口下创建工具栏:QToolBar * toolbar = new QToolBar(this);
将工具栏放在窗口左侧:addToolBar(Qt::LeftToolBarArea,toolbar);(可更改参数类,将工具栏放于其他位置)
设置工具栏是否可以移动:toolbar->setMovable(true);
设置工具栏只允许左右停靠:toolbar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
设置是否可以浮动:toolbar->setFloatable(false);
添加选择项:toolbar->addAction(debug);
状态栏
创建状态栏: QStatusBar *statu = new QStatusBar(this);
将状态栏放置在当前窗口中: setStatusBar(statu);
添加标签对象:QLabel * label = new QLabel
添加标签控件:statu->addWidget(label);
添加标签控件到右侧:statu->addPermanentWidget(label2);
铆接部件(浮动窗口)
创建浮动窗口部件:QDockWidget * dock = new QDockWidget(“浮动”,this);
将浮动窗口放置在窗口下方:addDockWidget(Qt::BottomDockWidgetArea,dock);
设置窗口中心部件
QTextEdit文本编辑器对象: QTextEdit * txt = new QTextEdit(this);
设置窗口中心部件(只能设置一个):setCentralWidget(txt);
添加资源文件
1、将资源文件拷贝到项目位置(可以不用拷贝但是要记得文件位置)
2、右键项目>>添加文件>>QT>>QTrecoures File ->生成.qrc文件
3、右键qrc文件open in editor 以编辑资源
4、添加前缀->添加文件->选择文件
模态对话框与非模态对话框
1、模态对话框:对话框弹出时,用户不可以对其他窗口进行操作,阻塞
QDialog dia(this);
dia.exec();
2、非模态对话框:对话框弹出时,可以对其他窗口进行操作
QDialog *dia = new QDialog(this);
dia.show();
dia->setAttribute(Qt::WA DeleteOnClose);//设置窗口属性,让其在被关闭的时候在堆中也释放掉占用的内存
对话框
QMessageBox,QMessageBox的返回值也为该类型,这里以问题对话框为例:
connect(ui->actionnewobject,&QAction::triggered,this,[=](){
if(QMessageBox::Open == QMessageBox::question(this,"提示框","提问",QMessageBox::Open | QMessageBox::Cancel)){
qDebug()<<"打开";
}
else {
qDebug()<<"取消";
}
});
文件对话框 QFileDialog::getOpenFileName(),第一个参数是作用域(this),第二个参数是标题,第三个参数是默认打开的路径,第四个参数是过滤文件格式,例:
QFileDialog::getOpenFileName(this,"选择文件","C:\\Users\\zgd\\Downloads","(*.txt)");
颜色对话框是 QColorDialog::getColor(),第一个参数是默认选择的颜色,不填则是白色,例如:
QColor c = QColorDialog::getColor(QColor(255,0,0));
qDebug()<<"颜色:"<<c;