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

深圳网站制作建设公司推荐网络推广项目代理

深圳网站制作建设公司推荐,网络推广项目代理,python培训学校,山西建设工程集团有限公司Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 在本文中&#xff0…

Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。

在本文中,我们通过使用C++和Qt Widgets模块实现一个简单的记事本应用程序来学习基本的Qt知识,该应用程序是一个小型的文本编辑器,允许您创建文本文件、保存、打印或重新打开并在此编辑它,还可以设置要使用的字体。

在上文中(点击这里回顾>>),我们为大家介绍了设计用户界面时的Qt Designer(设计器)使用、Notepad Header文件、Notepad 源文件等,本文将继续介绍如何添加用户交互,欢迎持续关注我们。

【实操干货】如何开始用Qt Widgets编程?(一)

点击获取Qt Widget组件下载(Q技术交流:166830288)

添加用户交互

要向编辑器添加功能,首先在工具栏上添加菜单项和按钮。

点击"Type Here",然后添加New、Open、Save、Save as、Print和Exit,这将在下面的Action Editor中创建5行代码。要将操作连接到插槽,请右键单击操作并选择Go To slot > triggered(),然后完成给定插槽的代码。

如果还想将操作添加到工具栏,我们可以为每个QAction分配一个图标,然后将QAction拖到工具栏中。通过在相关操作的icon属性中输入图标名称来分配图标,当QAction被拖到工具栏时,单击图标将启动关联的槽。

完成方法newDocument():

void Notepad::newDocument()
{
currentFile.clear();
ui->textEdit->setText(QString());
}

currentFile变量是一个包含当前正在编辑文件的全局变量,clear()清除文本缓冲区,currentFile变量定义在notepad.h的私有部分:

private:
Ui::Notepad *ui;
QString currentFile;
打开文件

在notepad.ui中,右键单击actionOpen并选择Go to Slot。

完成open()方法。

void Notepad::open()
{
QString fileName = QFileDialog::getOpenFileName(this, "Open the file");
if (fileName.isEmpty())
return;
QFile file(fileName);
currentFile = fileName;
if (!file.open(QIODevice::ReadOnly | QFile::Text)) {
QMessageBox::warning(this, "Warning", "Cannot open file: " + file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream in(&file);
QString text = in.readAll();
ui->textEdit->setText(text);
file.close();
}

QFileDialog::getOpenFileName打开一个对话框,您能选择一个文件。QFile对象myfile有选择的file_name作为参数,还将选中的文件存储到全局变量currentFile中,以供稍后使用。我们用文件打开文件,作为只读文本文件打开。如果无法打开,则发出警告,并停止程序。

为参数myfile定义了一个QTextStream流,文件myfile的内容被复制到QString文本中,setText(text)用文本填充编辑器的缓冲区。

保存文件

我们以与打开文件相同的方式创建保存文件的方法,即右键单击actionSave并选择Go to Slot。

void Notepad::save()
{
QString fileName;
// If we don't have a filename from before, get one.
if (currentFile.isEmpty()) {
fileName = QFileDialog::getSaveFileName(this, "Save");
if (fileName.isEmpty())
return;
currentFile = fileName;
} else {
fileName = currentFile;
}
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly | QFile::Text)) {
QMessageBox::warning(this, "Warning", "Cannot save file: " + file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream out(&file);
QString text = ui->textEdit->toPlainText();
out << text;
file.close();
}

QFile 对象myfile链接到全局变量current_file,该变量包含正在处理的文件。如果无法打开myfile,则会发出错误消息并停止该方法。我们创建一个QTextStream输出,编辑器缓冲区的内容被转换为纯文本,然后写入输出。

以另一个名称保存文件
void Notepad::saveAs()
{
QString fileName = QFileDialog::getSaveFileName(this, "Save as");
if (fileName.isEmpty())
return;
QFile file(fileName);if (!file.open(QFile::WriteOnly | QFile::Text)) {
QMessageBox::warning(this, "Warning", "Cannot save file: " + file.errorString());
return;
}
currentFile = fileName;
setWindowTitle(fileName);
QTextStream out(&file);
QString text = ui->textEdit->toPlainText();
out << text;
file.close();
}

这与保存文件的过程相同,唯一的区别是这里需要为要创建的文件输入一个新的文件名。

http://www.wooajung.com/news/28477.html

相关文章:

  • 网站推广外链怎么做公司网站策划宣传
  • 制作图片用什么软件好2020站群seo系统
  • 武汉网站建设报价搜素引擎优化
  • 大连网络宣传网站天津网络推广seo
  • 大连企业自助建站app拉新项目
  • 网站设计制作开发旺道seo优化软件
  • 现在公众号做电影网站的发展百度推广怎么收费标准
  • 怎么在雅虎做网站收入宁波seo排名费用
  • 做外汇网站代理商seo优化工作怎么样
  • 欧洲做r18 cg的网站搜狗seo优化
  • 设计交流网站店铺推广
  • 高端网站建设 引擎技百度竞价排名的使用方法
  • 日本一级做d爱片免费网站澳门seo关键词排名
  • 一个产品有两个品牌怎么做网站百度电话号码查询
  • 粮食局网站建设方案搜索引擎营销流程是什么?
  • 做文案看什么网站哪些网站是营销型网站
  • 云阳网站建设公司新网站怎么做推广
  • 如何通过查询网站注册时间成都seo正规优化
  • 网站日常维护流程百度推广优化排名怎么收费
  • 做网站客户要求多很烦免费宣传平台有哪些
  • 公司做个网站多少钱深圳网站seo
  • 专做美妆的网站搜狗收录提交入口
  • 手机微信一体网站建设广州网站建设公司
  • 网站首页动画怎么做的百度app广告
  • 广告设计公司有什么岗位太原百度seo排名软件
  • 自己电脑做局域网网站服务器我想做网络推广找谁
  • 广州网站建设设计厂家谷歌广告优化
  • 我的班级网站模板祁阳seo
  • 网站建设app新区seo整站优化公司
  • 建设工程与建设工程项目百度百科优化排名