1.我的界面设计
2.建立一个模态对话框
头文件:#include
代码:
//点击新建按钮,弹出一个对话框
//使用信号连接函数
connect(ui->actionnew,&QAction::triggered,[=](){
//对话框 分类
//模态对话框(不可以对其他窗口进行操作) 非模态对话框(可以对其他窗口进行操作)
//模态创建 阻塞
QDialog dlg(this);
dlg.resize(200,200);//这个窗口开小了,他会有错误的提示
dlg.exec();//模态窗口显示
qDebug()<<"模态对话框弹出来了";
});
3.建立一个非模态的对话框
头文件:#include
代码:
connect(ui->actionopen,&QAction::triggered,[=](){
//非模态对话框
QDialog * dlg2 = new QDialog(this);//创建对象
dlg2->resize(200,200);//这个窗口开小了,他会有错误的提示
dlg2->show();//这个是非模态对话框的显示
dlg2->setAttribute(Qt::WA_DeleteOnClose);//该Qt窗口在退出时自动能够delete掉自己,因此,添加这样的一句代码:
setAttribute (Qt::WA_DeleteOnClose);
qDebug()<<"非模态对话框弹出来了";
});
4.建立一个错误对话框
头文件:#include
代码:
connect(ui->actioncuowu,&QAction::triggered,[=](){
//错误对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息
//QMessageBox::critical(this,"critical","错误对话框");//建立一个错误类型的对话框
QMessageBox::critical(this,"critical","错误对话框");
});
5.建立一个信息对话框
头文件:#include
代码:
connect(ui->actionxinxi,&QAction::triggered,[=](){
//信息对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息
QMessageBox::information(this,"info","信息对话框");//建立一个信息类型的对话框
});
6.建立一个提问对话框
头文件:#include
代码:
connect(ui->actionxuanze,&QAction::triggered,[=](){
//提问对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息 第四个参数,选择的选项是哪两个 第五个个对话框是默认是哪个,或者说开始系统为你选的那个
//这个函数有返回值的 就是第四个参数之间的两个中的一个
if(QMessageBox::Save == QMessageBox::question(this,"que","提问对话框",QMessageBox::Save | QMessageBox::No,QMessageBox::Save ))//建立一个信息类型的对话框
{
qDebug()<<"选择的是保存";
}
else
{
qDebug()<<"选择的是 NO ";
}
});
7.建立一个警告对话框
头文件:#include
代码:
connect(ui->actionqinggao,&QAction::triggered,[=](){
//警告对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息
QMessageBox::warning(this,"warninf","警告对话框");//建立一个信息类型的对话框
});
8.建立一个获得颜色参数的对话框
头文件:#include
#include
代码:
connect(ui->actioncolor,&QAction::triggered,[=](){
//颜色对话框
QColor color =QColorDialog::getColor(QColor(255,0,0));//打开颜色选择窗口,开始默认停留在 255 ,0,0 区域
qDebug()<<"r = "<
9.建立一个获得文件路径的对话框
头文件:#include
#include
代码:
connect(ui->actionwenzi,&QAction::triggered,[=](){
//文件对话框 参数 父亲 参数二 标题 参数三 默认打开的路径 参数四 过滤文件格式
//功能获得需要文件的 文件路径
QString str= QFileDialog::getOpenFileName(this,"打开文件","D:");//没有第四个
qDebug()<
10.建立一个获得选择 字体参数的对话框
头文件:#include
#include
代码:
connect(ui->actionziti,&QAction::triggered,[=](){
//字体对话框
bool flag;
//QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));//第二个参数是,初始的位置
QFont font = QFontDialog::getFont(&flag);//不同的字体,有的功能不同,有的字体没有加粗和倾斜
qDebug()<<" 字体 "<
11.完整的代码:
mainWinow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
main.cpp
#include "mainwindow.h"
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainWindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include //对话框
#include //文字输出
#include
#include
#include //颜色文件框
#include //字符串
#include //文件对话框
#include //字体选择的对话框
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//点击新建按钮,弹出一个对话框
connect(ui->actionnew,&QAction::triggered,[=](){
//对话框 分类
//模态对话框(不可以对其他窗口进行操作) 非模态对话框(可以对其他窗口进行操作)
//模态创建 阻塞
QDialog dlg(this);
dlg.resize(200,200);//这个窗口开小了,他会有错误的提示
dlg.exec();//模态窗口显示
qDebug()<<"模态对话框弹出来了";
});
connect(ui->actionopen,&QAction::triggered,[=](){
//非模态对话框
QDialog * dlg2 = new QDialog(this);//创建对象
dlg2->resize(200,200);//这个窗口开小了,他会有错误的提示
dlg2->show();//这个是非模态对话框的显示
dlg2->setAttribute(Qt::WA_DeleteOnClose);//该Qt窗口在退出时自动能够delete掉自己,因此,添加这样的一句代码:
setAttribute (Qt::WA_DeleteOnClose);
qDebug()<<"非模态对话框弹出来了";
});
connect(ui->actioncuowu,&QAction::triggered,[=](){
//错误对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息
//QMessageBox::critical(this,"critical","错误对话框");//建立一个错误类型的对话框
QMessageBox::critical(this,"critical","错误对话框");
});
connect(ui->actionxinxi,&QAction::triggered,[=](){
//信息对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息
QMessageBox::information(this,"info","信息对话框");//建立一个信息类型的对话框
});
connect(ui->actionxuanze,&QAction::triggered,[=](){
//提问对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息 第四个参数,选择的选项是哪两个 第五个个对话框是默认是哪个,或者说开始系统为你选的那个
//这个函数有返回值的 就是第四个参数之间的两个中的一个
if(QMessageBox::Save == QMessageBox::question(this,"que","提问对话框",QMessageBox::Save | QMessageBox::No,QMessageBox::Save ))//建立一个信息类型的对话框
{
qDebug()<<"选择的是保存";
}
else
{
qDebug()<<"选择的是 NO ";
}
});
connect(ui->actionqinggao,&QAction::triggered,[=](){
//警告对话框
//第一个参数 父亲是谁 , 第二个参数 对话框的名字 第三个参数 对话框的提示信息
QMessageBox::warning(this,"warninf","警告对话框");//建立一个信息类型的对话框
});
connect(ui->actioncolor,&QAction::triggered,[=](){
//颜色对话框
QColor color =QColorDialog::getColor(QColor(255,0,0));//打开颜色选择窗口,开始默认停留在 255 ,0,0 区域
qDebug()<<"r = "<actionwenzi,&QAction::triggered,[=](){
//文件对话框 参数 父亲 参数二 标题 参数三 默认打开的路径 参数四 过滤文件格式
//功能获得需要文件的 文件路径
QString str= QFileDialog::getOpenFileName(this,"打开文件","D:");//没有第四个
qDebug()<actionziti,&QAction::triggered,[=](){
//字体对话框
bool flag;
//QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));//第二个参数是,初始的位置
QFont font = QFontDialog::getFont(&flag);//不同的字体,有的功能不同,有的字体没有加粗和倾斜
qDebug()<<" 字体 "<
第二个内容设计:
登陆界面的设计:
ui 图片:
第三个内容:
listWidget ,treeWidget,tableWidget ,stackedWidget,区域的使用
界面设计:(资源自己找 !!!! )
ui 图片
完成的结果:
代码:
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
main.cpp
#include "widget.h"
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include
#include
#include
#include
#include
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//利用listWidget 写诗
// QListWidgetItem *item=new QListWidgetItem("小超是猪吗?--》yes");//建立内容对象
// ui->listWidget->addItem(item);//给list 写入内容
//listWidget 使用
QStringList list;
list<<"asdasda"<<"13223123"<<"dasdasdasd"<<"52455457";
ui->listWidget->addItems(list);//多行输入 给list 写入内容
//treeWidget 树控件使用
//设置水平头
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍");
QTreeWidgetItem * litem1 =new QTreeWidgetItem(QStringList()<<"力量");
QTreeWidgetItem * litem2 =new QTreeWidgetItem(QStringList()<<"敏捷");
QTreeWidgetItem * litem3 =new QTreeWidgetItem(QStringList()<<"智力");
//加载顶层的节点
ui->treeWidget->addTopLevelItem(litem1);
ui->treeWidget->addTopLevelItem(litem2);
ui->treeWidget->addTopLevelItem(litem3);
//追加子节点
QStringList hero;
hero<<"力量大哥"<<"前排坦克";
QTreeWidgetItem * l1 =new QTreeWidgetItem(hero);
litem1->addChild(l1);
//tableWidget 控件的使用
//设置列数
ui->tableWidget->setColumnCount(3);
//设置水平表头
ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");
//设置行数
ui->tableWidget->setRowCount(5);
//设置正文
//一个一个的设置
//ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
QStringList nameList;
nameList<< "亚瑟"<<"赵云"<<"张飞"<<"关羽"<<"花木兰";
QList sexList;
sexList<<"男"<<"男"<<"男"<<"男"<<"女";
for(int i=0;i<5;i++)
{
int col=0;
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));//输入姓名
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList[i]));//输入性别
ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));//QSTring::number 字符串转化为数字
}
//scrollarea 按键 滚轮的区域
connect(ui->s1,&QPushButton::clicked,[=](){ //s1 是按钮
ui->stackedWidget->setCurrentIndex(2);
});
//toolBox 按钮 打开所需关系的区域
connect(ui->s2,&QPushButton::clicked,[=](){ //s2 是按钮
ui->stackedWidget->setCurrentIndex(0);
});
//Tabwidget 按钮 网页模式的区域
connect(ui->s3,&QPushButton::clicked,[=](){ //s3 是按钮
ui->stackedWidget->setCurrentIndex(1);
});
//利用QLable 显示图片
ui->label->setPixmap(QPixmap(":/image_jk/1.jpg"));
//显示动态的图片
//QMovie * movie = new QMovie(":/路径.gif");
//ui->label->setMovie((movie));
//播放gif
// movie->start();
}
Widget::~Widget()
{
delete ui;
}