文件管理
//导入资源
/1.将资源放入到项目下
//2.添加资源文件
//2.1右键项目->添加新文件->Qt->Qt resource file
//2.2 ->给资源文件起名 eg:res.qrc文件
//3.编辑资源文件
//3.1添加前缀
//3.2添加文件
//4.使用资源
//4.1语法:”:+前缀名+文件名“
ui->setupUi(this);//放在构造函数的最上方
ui->actionNew1->setIcon(QIcon("F:\\pictures\\song1.jpg"));
ui->actionopen->setIcon(QIcon("F:\\pictures\\song2.jpg"));
对话框
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>
#include<QDialog>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//点击新建,弹出对话框
connect(ui->actionNew,&QAction::triggered,[=](){
//对话框分类
//模态对话框 不可以对其他窗口进行操作 阻塞
//非模对话框 可以对其他窗口进行操作 不阻塞
// //创建模态对话框
// QDialog dlg(this);
// dlg.exec();
// qDebug()<<"弹出对话框";
//创建非模态对话框
QDialog *dlg =new QDialog(this);
dlg->resize(120,30);
dlg->show();
//设置属性 55号
dlg->setAttribute(Qt::WA_DeleteOnClose);
qDebug()<<"弹出对话框";
});
}
MainWindow::~MainWindow()
{
delete ui;
}
消息对话框
标准对话框QMessageBox:模态对话框,用于显示信息,询问问题等;
4.1错误提示
QMessageBox::critical(this,"critical","错误提示");//QMessageBox错误提示对话框
4.2询问提示
涉及到关联回车键
//参数1 父窗口 参数2 标题 参数3 中间显示文本 参数4 按键类型 参数5 关联回车按键
if(QMessageBox::Save==QMessageBox::question(this,"ques","询问!",QMessageBox::Save|QMessageBox::Cancel))
{
qDebug()<<"选择的是保存";
}else
{
qDebug()<<"选择的是取消";
}
4.3警告提示
QMessageBox::warning(this,"warning","警告!");
4.4信息提示
QMessageBox::information(this,"info","信息提示");
其他对话框
- 颜色对话框
QColor color=QColorDialog::getColor(QColor(255,0,0));
qDebug()<<color.red()<<color.green()<<color.blue();
- 字体对话框
bool ok;
QFont font=QFontDialog::getFont(&ok,QFont("华文彩云",36));
qDebug()<<"字体:"<<font.family()<<"字号:"<<font.pointSize()
<<"加粗:"<<font.bold()<<"倾斜:"<<font.italic();
- 文件对话框
QString str=QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\Administrator\\Desktop","(*.txt*.doc)");
qDebug()<<str;
});
界面布局
- 利用widgets做布局:水平,垂直,栅格
- 巧用弹簧进行设置
常用控键_按钮组
-
QPushButton可以显示图标
-
QRadioButton单选按钮
-
QToolButton工具按钮,可以显示图标
-
QcheckBox复选按钮
半选状态设置
QListWidget控件
//listWidget使用
QListWidgetItem *item=new QListWidgetItem("锄禾日当午");
ui->listWidget->addItem(item);
//设置文本对齐
item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
//QStringlist-> QList<QString>-> list<String>
QStringList list;
list<<"锄禾日当午"<<"汗滴禾下土"<<"谁知盘中餐"<<"粒粒皆辛苦";
ui->listWidget->addItems(list);
QTreeWidget控件
1.设置头的标签
//treeWidget 树控件
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");
2.Item创建
QTreeWidgetItem *liItem=new QTreeWidgetItem(QStringList()<<"力量");
//添加顶层级别的Item
ui->treeWidget->addTopLevelItem(liItem);
QTreeWidgetItem *minItem=new QTreeWidgetItem(QStringList()<<"敏捷");
ui->treeWidget->addTopLevelItem(minItem);
QTreeWidgetItem *zhiItem=new QTreeWidgetItem(QStringList()<<"智力");
ui->treeWidget->addTopLevelItem(zhiItem);
3.创建子Item 挂载到顶层Item上
QStringList heroL1;
QStringList heroL2;
heroL1<<"刚被猪"<<"前排坦克,能在吸收伤害的同时造成客观的范围输出";
heroL2<<"船长"<<"前排坦克,能肉能输出能控场的全能英雄";
//3.创建子Item 挂载到顶层Item上
QTreeWidgetItem *l1=new QTreeWidgetItem(heroL1);
liItem->addChild(l1);
QTreeWidgetItem *l2=new QTreeWidgetItem(heroL2);
liItem->addChild(l2);