当前位置: 首页 > news >正文

网站怎样做外链做外贸收费的网站

网站怎样做外链,做外贸收费的网站,做微商网站公司,郑州网站建设公司服务公司以下是本人学习笔记 原视频:最新QT从入门到实战完整版|传智教育 qt开发从入门到实战1 练习示例 设计一个按钮,点击时弹出新窗口,再次点击时新窗口关闭 // exerciseQWidget* second_window new QWidget();QPushButton* btn3 new QPushBu…

以下是本人学习笔记
原视频:最新QT从入门到实战完整版|传智教育

qt开发从入门到实战1

练习示例

设计一个按钮,点击时弹出新窗口,再次点击时新窗口关闭

// exerciseQWidget* second_window = new QWidget();QPushButton* btn3 = new QPushButton("open", this);btn3->move(0, 100);connect(btn3, &QPushButton::clicked, second_window, [=](){if(btn3->text() == "open"){second_window->show();second_window->resize(100, 100);btn3->setText("close");}else if(btn3->text() == "close"){second_window->close();btn3->setText("open");}});

注意:加入窗口和加入对象树是两个不同的概念

一、窗口中的基础部件

1.创建菜单栏

讲解见注释

// 创建菜单栏
// 菜单栏最多只有一个
// menuBar构造函数已经把自身加入对象树了
QMenuBar* bar = menuBar();
// 将菜单栏放入窗口
setMenuBar(bar);
// 创建菜单
QMenu* fileMenu = bar->addMenu("file");
QMenu* editMenu = bar->addMenu("edit");
// 创建菜单项
QAction* newAction = fileMenu->addAction("new");
// 添加分隔线
fileMenu->addSeparator();
QAction* openAction = fileMenu->addAction("open");

2.创建工具栏

// 工具栏可以有多个
QToolBar* toolBar = new QToolBar(this); // 加入对象树
// 加入窗口和加入对象树是两个不同的概念
addToolBar(Qt::LeftToolBarArea ,toolBar); // 加入窗口
// 设置工具栏是否可以移动(相当于总开关)
toolBar->setMovable(false);
// 设置工具栏只可以左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
toolBar->setFloatable(false);
// 设置工具栏内容
// 相当于工具栏和菜单栏公用的功能
toolBar->addAction(newAction);
toolBar->addAction(openAction);
// 工具栏中添加控件
QPushButton* btn = new QPushButton("aa", this);
toolBar->addWidget(btn);

3.创建状态栏

// 状态栏最多只有一个
QStatusBar* stBar = statusBar();
// 将状态栏放入窗口
setStatusBar(stBar);
// 放标签控件
QLabel* label1 = new QLabel("tips", this);
stBar->addWidget(label1);
QLabel* label2 = new QLabel("right tips", this);
// right labels
stBar->addPermanentWidget(label2);

4.创建铆接部件(浮动窗口)+中心部件

// 创建铆接部件(浮动窗口):可以有多个
QDockWidget* dockWidget = new QDockWidget("float", this);
// 浮动窗口的位置是相对于核心部件的位置而言的(在核心部件的上/下/左/右)
addDockWidget(Qt::TopDockWidgetArea, dockWidget);
// 设置后期停靠区域:只允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);

5.创建中心部件

// 设置中心部件:只有一个
QTextEdit* edit = new QTextEdit(this);
setCentralWidget(edit);

0.无代码版

创建项目时勾选创建ui界面,之后在ui中手动拖拽部件(手动狗头)
在这里插入图片描述

二、资源文件的添加

利用无代码方式进行控件的布局后,添加的部件在源文件中可以通过ui找到

  1. 寻找到项目文件位置,将需要用的资源放在项目文件夹中,代码里使用相对路径
  2. 在Qt项目中,右击项目->添加新文件
  3. 选择qt->qt resource file(最终生成.qrc文件)
  4. 命名后默认选项即可
  5. 添加前缀(仅作区分用)
  6. 添加文件:全选之前加入项目文件夹的图片即可

注意:

  1. 从res.qrc切出后,双击文件无法唤起页面,需要右击res.qrc->open in editor
  2. 图片资源必须得是png格式,不然会不显示图片

三、对话框

1.模态/非模态对话框

    // 点击新建按钮,弹出一个对话框connect(ui->newAction, &QAction::triggered, [=](){// 对话框分类// 1.模态对话框:不可以对其他窗口进行操作// 2.非模态对话框:可以对其他窗口进行操作// 模态创建(阻塞)QDialog dlg1(this);dlg1.resize(200, 100);// 在模态对话框关闭之前,程序会一直在此阻塞dlg1.exec();qDebug() << "模态创建";});connect(ui->openAction, &QAction::triggered, [=](){// 非模态对话框创建// 以下方式创建会让对话框在离开匿名函数时就被销毁// QDialog dlg2(this);// dlg2.show();// 将对话框创建在堆上即可QDialog* dlg2 = new QDialog(this);dlg2->resize(200, 100);dlg2->show();// 使其在关闭时删除对象(因为默认只有在主窗口关闭时,所有对象才会被销毁)dlg2->setAttribute(Qt::WA_DeleteOnClose);qDebug() << "非模态对话框创建";});

2.标准对话框

标准对话框是Qt内置的用于简化开发的一系列对话框
消息对话框

// 错误对话框
QMessageBox::critical(this, "critical", "error");
// 信息对话框
QMessageBox::information(this, "information", "some info");
// 提问对话框(父亲, 标题, 内容, 按钮类型, 与回车关联的按钮)
// 返回值是standarButton类型
if(QMessageBox::Save == QMessageBox::question(this, "question", "Q?", QMessageBox::Cancel | QMessageBox::Save, QMessageBox::Save))
{qDebug() << "save something";
}else
{qDebug() << "cancel";
}
// 警告对话框
QMessageBox::warning(this, "warning", "stop!");

tips:静态对象可以通过①创建对象访问②直接通过类名访问

其他对话框

// 其他对话框
// 文件对话框(parent, title, default path, filter file)
QString filePath = QFileDialog::getOpenFileName(this, "open files", "/home", "*.txt");
qDebug() << filePath;// 字体对话框
bool flag;
QFont font = QFontDialog::getFont(&flag, QFont("console", 36));
qDebug() << font;// 颜色对话框(上面两种有warning)
// QColor color = QColorDialog::getColor(QColor(255, 255, 255));
// QColor color = QColorDialog::getColor(Qt::red, this);
QColor color(0, 0, 0);
QColorDialog colorDialog(color, this);
colorDialog.setOption(QColorDialog::DontUseNativeDialog);
if( colorDialog.exec() == QDialog::Accepted )
{// 获取当前选中的颜色color = colorDialog.currentColor();qDebug() << color;
}

3.未完待续

p23

http://www.yayakq.cn/news/206920/

相关文章:

  • 南宁建网站北京网站建设方案书
  • 唐山做网站汉狮网络简单的购物网站设计
  • wordpress全站伪静态凡科网站代码
  • 网站设计活动主题哈密伊吾县建设局网站
  • phpstudy建设网站视频教程3d建模软件下载
  • 怎样建设网站内容最新汽油价格调整最新消息
  • 杭州专业做网站的济南网站假设推广
  • 上海网站制作衫常州被约谈企业主公司发讣告
  • 建一个网站多少钱中小企业网
  • 网站制作软件排行榜单页网站优化
  • 如何在百度做网站高德地图怎么看实况街景
  • 企业内部的网站系统宁波住房和城乡建设部网站
  • 公司手机网站设计wordpress api开发文档
  • 上海网站公司电话灰色的网站
  • 广州专业网站改版提供网站建设公司哪家好
  • 网站开发开票内容网站分站开发计划书
  • 南宁定制网站建设备案的网站做跳转不影响备案把
  • 自己建设一个网站需要多少钱岳阳网站建设哪家好
  • 黑客以网站做跳板入侵方法中国建设工程人才库官方网站
  • 怎么在网站中搜索关键字千图网ppt模板
  • 苏宁易购网站建设分析交通建设集团蓝商分公司网站
  • 湘西建网站wordpress 首页字数
  • 网站搭建排名优化看房子建设进度的网站
  • 网站建站建设网站备案中的网站信息怎么填
  • 网站维护有哪些企业html5做的网站
  • 自助建站的优点与缺点网站开发哪方面好做
  • 广东企业网站模板定制深圳做网站的网络公司
  • 做彩票网站违法吗深圳网站建设大概多少钱
  • 建设网站预期效果怎么写软件技术和软件工程有什么区别
  • 江门网站设计cms网站制作