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

深圳网站制作建设公司推荐营销外包

深圳网站制作建设公司推荐,营销外包,网店营销网站,东营wordpress网站建设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.khdw.cn/news/36716.html

相关文章:

  • WordPress 种子搜索有利于seo优化的是
  • 设计网站最重要的是要有良好的小程序定制开发公司
  • 网站怎么上传ftp网络营销的成功案例有哪些
  • 网站开发主要语言批量查询指数
  • 网站开发外文文献推广代理公司
  • 网站建设的目的及功能定位职业技能培训网站
  • 怎样自己做网站赚钱南宁seo排名收费
  • 开网店做代理的公司网站成人计算机培训机构哪个最好
  • wordpress 技术教程seo外推软件
  • 贵阳企业网站建设网站引流推广怎么做
  • 专门做校招的网站网络运营培训哪里有学校
  • 武汉做网站公司推荐北京网站制作设计
  • 东莞品牌网站制作在线生成个人网站免费
  • 用c 做网站广州关键词搜索排名
  • wordpress 文章 批量 分类培训行业seo整站优化
  • 网站banner怎么做ps网络seo优化平台
  • 济南正宗网站建设平台沈阳网站关键词优化公司
  • 自己怎么制作公众号如何点击优化神马关键词排名
  • 揭阳企业免费建站免费引流推广工具
  • 备案网站名称修改淘宝关键词搜索量查询工具
  • 站酷设计网站官网入口插画设计怎么做网上销售
  • 网站规划与设计一千字怎样在百度上推广
  • 网站建设合同附件格式黄冈网站推广软件视频下载
  • 优良网站友链价格
  • 新加坡房产网站大全seo优化销售话术
  • 门户网站开发报价单什么平台可以做引流推广
  • 酒吧网站模板网络推广seo
  • 郑州网站建设贝斯特烘焙甜点培训学校
  • 优普南通网站建设关键词检索
  • 高网站排名吗郑州纯手工seo