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

武汉做网站公司有哪些千万不要做手游推广员

武汉做网站公司有哪些,千万不要做手游推广员,wordpress弹窗表单,女性广告文章目录 QFileDialogQFileDialog打开开发案例QFileDialog保存开发案例实现文件打开功能开发流程打开功能优化 QComboBoxQListExtraSelection 简介 QFileDialog QFileDialog打开开发案例 #include <QApplication> #include <QFileDialog> #include <QStringLi…

文章目录

    • QFileDialog
      • QFileDialog打开开发案例
      • QFileDialog保存开发案例
      • 实现文件打开功能
        • 开发流程
        • 打开功能优化
    • QComboBox
    • QList
    • ExtraSelection 简介

QFileDialog

QFileDialog打开开发案例

#include <QApplication>
#include <QFileDialog>
#include <QStringList>
#include <QString>
#include <QMessageBox>
/*
fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "",
tr("Text Files (*.txt);;All Files
(*)"));
*/
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建一个 QFileDialog 实例
QFileDialog dialog;
// 设置对话框为打开文件模式
dialog.setFileMode(QFileDialog::ExistingFiles);
// 设置文件过滤器dialog.setNameFilter("Text files (*.txt);;Images (*.png *.jpg);;All files
(*)");
// 显示对话框
if (dialog.exec()) {
// 获取用户选中的文件列表
QStringList fileNames = dialog.selectedFiles();
// 遍历列表并处理每个文件
for (const QString &fileName : fileNames) {
// 此处可以添加对 fileName 的处理代码
QMessageBox::information(nullptr, "File Selected", fileName);
}
}
return app.exec();
}

QFileDialog保存开发案例

void Widget::on_btnSave_clicked()
{
QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),
"D:/QT/untitled.txt",
tr("Text (*.txt *.doc)"));
qDebug()<<fileName;
QFile file;
file.setFileName(fileName);
if(!file.open(QIODevice::WriteOnly | QIODevice::Text)){
qDebug() << "file open error";
}
QTextStream out(&file);
out.setCodec("UTF-8");
out << "Qdialog Write Data to the Txt File";
file.close();
}

实现文件打开功能

开发流程
  • 为QPushButton对应Open的控件设置槽函数

  • 槽函数代码开发

    • 打开文件

    • 读取文件

    • 把文件数据显示在TextEdit控件上

示例:

void Widget::on_btnFileOpen_clicked()
{QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"D:/QT/",tr("Text (*.txt)"));ui->textEdit->clear();file.setFileName(fileName);if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug() << "file open error";}QTextStream in(&file);in.setCodec("UTF-8");while(!in.atEnd()){QString context = in.readLine();// qDebug() << qPrintable(context);// ui->textEdit->setText(context);ui->textEdit->append(context);}
}
打开功能优化
  • 字符编码相关问题解决。在 Qt 中, QTextStream 常用的字符编码主要包括以下几种:
编码名称描述
UTF-8用于表示 Unicode 文本的变长字符编码,广泛用于网络和多语言文本
UTF-16用于表示 Unicode 文本的定长字符编码
ISO 8859-1也称为 Latin1,用于表示西欧语言字符
GBK用于表示简体中文字符,是 GB2312 的扩展
Big5用于表示繁体中文字符,常用于台湾和香港地区
Windows-1252用于表示西欧语言字符,是 ISO 8859-1 的超集
ANSI在 Qt 中,“ANSI” 编码并不是一个明确指定的编码标准,因为 ANSI 编码可以指代不同的编码标准,这取决于操作系统的语言和区域设置。例如,在中文 Windows系统中,ANSI 编码通常指的是 GBK 编码;而在西欧语言的 Windows 系统中,ANSI 编码可能指的是 ISO 8859-1 或 Windows-1252。

这些编码覆盖了大部分常用的语言字符集,可以通过 QTextCodec::codecForName() 方法在QTextStream 中进行设置。

  • 检测光标位置,并在右下角显示光标位置

  • 在程序左上方显示当前打开的文件名称

QComboBox

QComboBox 是 Qt 框架中用于创建下拉列表的一个控件。

它允许用户从一组选项中选择一个选项,并可以配置为可编辑,使用户能够在其中输入文本。

QComboBox 提供了一系列方法来添加删除修改列表中的项,支持通过索引或文本检索项,并可以通过信号和槽机制来响应用户的选择变化。该控件广泛应用于需要从多个选项中进行选择的用户界面场景,例如表单和设置界面。

功能描述API方法
添加选项向下拉列表添加单个或多个选项addItem() , addItems()
获取选项获取当前选中的文本或索引currentText() , currentIndex()
设置选项设置当前选中的项setCurrentIndex(int)
移除选项从下拉列表中移除项removeItem(int)
信号当选项改变时触发的事件currentIndexChanged(int)
可编辑性设置下拉列表是否可编辑setEditable(bool)
自定义数据向下拉列表项关联额外的数据setItemData(int, const QVariant&)
清空列表移除所有选项clear()

示例:

#include <QComboBox>
#include <QVBoxLayout>
#include <QWidget>
class ComboBoxDemo : public QWidget {
Q_OBJECT
public:
ComboBoxDemo() {
QComboBox *comboBox = new QComboBox(this);
comboBox->addItems({"选项1", "选项2", "选项3"});
comboBox->setEditable(true);
connect(comboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(onSelectionChanged(int)));
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(comboBox);
}
private slots:
void onSelectionChanged(int index) {
// 当选中的项改变时的处理逻辑}
};

​ 这个示例展示了 QComboBox 的基本用法,包括添加选项、设置为可编辑以及连接信号和槽。您可以根据需要调整和扩展这个示例。

QList

​ 在 Qt 框架中, QList 是一个容器类,它在内部实现上类似于一个数组,但也提供了一些链表的特性。QList 的设计旨在提供一个在多数情况下既高效又方便的通用列表容器。用于存储元素列表。它提供了丰富的功能,包括添加、移除、访问元素等。

QList 的内部工作原理:

  1. 数组式存储: QList 在大多数情况下使用连续内存存储其元素,类似于数组。这意味着它提供了快速的索引访问(通过下标操作符 [] ),以及相对高效的迭代性能。

  2. 动态调整大小:与静态数组不同, QList 可以动态增长和缩减,自动管理内存分配。

  3. 链表特性:虽然 QList 主要基于数组,但它也提供了一些链表的操作,比如在列表的开始或结束处添加和移除元素。这些操作通常比在数组中间插入或删除元素更高效。

  4. 复制时共享内存: QList 使用一种称为“隐式共享”(implicit sharing)或“写时复制”(copy-onwrite)的技术。这意味着当你复制一个 QList 时,它不会立即复制所有元素,而是共享相同的数据,直到你尝试修改其中一个列表,此时才进行实际的复制。这使得复制 QList 变得非常高效。

使用场景:

  • 当你需要快速的随机访问(如通过索引访问元素)时, QList 是一个不错的选择。

  • 如果你的主要操作是在列表的两端添加或移除元素, QList 也表现得很好。

基本用法

包含头文件:首先,你需要包含 QList 的头文件。

#include <QList>

创建 QList 实例:创建一个 QList 对象,并指定存储的元素类型。

QList<int> list;

添加元素:使用 append 或 push_back 方法添加元素。

list.append(1);
list.append(2);
list.append(3);

访问元素:可以使用下标操作符或 at() 方法访问元素。

int firstElement = list[0];
int secondElement= list.at(1);

遍历列表:使用迭代器或范围基的 for 循环遍历列表。

for(int i = 0; i < list.size(); ++i) { // size = sizeof(arr)/sizeof(arr[0])qDebug() << list[i];
}
// 或者使用范围基的 for 循环
for(int item : list) {qDebug() << item;
}

移除元素:使用 removeAt 、 removeOne 或 clear 方法移除元素。

list.removeAt(1);
list.removeOne(3);
list.clear();

ExtraSelection 简介

QTextEdit::ExtraSelection 是一个在 QTextEdit 中用来表示额外的文本选择和高亮的结构。

如何工作

  1. ExtraSelection 结构体: QTextEdit::ExtraSelection 是一个结构体,包含了两个主要成员:QTextCursor 和 QTextCharFormat 。 QTextCursor 表示在文本中的一个位置或者区间,而QTextCharFormat 用于定义这个区间的格式,比如背景颜色、字体等。

  2. 设置 ExtraSelection:你可以创建一个或多个 ExtraSelection 对象,为它们设置相应的光标位置和格式,然后通过 QTextEdit 的 setExtraSelections 方法将这些对象应用到文本编辑器中。这样,你可以对文本的特定部分应用特定的格式,而不影响其他文本。

  3. 高亮当前行:要高亮显示当前行,你需要在 cursorPositionChanged() 信号的槽函数中创建一个ExtraSelection 对象。使用当前的 QTextCursor 对象(通过 textCursor() 方法获取)来确定当前行的位置,并设置背景颜色为你选择的高亮颜色。

​ QTextCharFormat 类是 Qt 框架中的一部分,用于描述文本字符的格式。这个类提供了丰富的接口来设置和获取文本字符的各种属性,如字体、颜色、背景色等。 QTextCharFormat 通常用于富文本处理,可以在像 QTextEdit 和 QTextDocument 这样的类中使用

下面列出了 QTextCharFormat 的一些常用功能和方法:

  1. 设置和获取字体样式
  • 使用 setFont() 方法设置字体。

  • 通过 font() 方法获取当前字体。

  1. 设置字体属性
  • setFontWeight() : 设置字体的粗细。

  • setFontItalic() : 设置字体是否倾斜。

  • setFontUnderline() : 设置是否有下划线。

  1. 设置文本颜色和背景色
  • setForeground() : 设置文本的前景色(即字体颜色)。

  • setBackground() : 设置文本的背景色。

  1. 其他文本属性
  • setToolTip() : 设置文本的工具提示。

  • setAnchor() : 设置文本是否为超链接。

  • setAnchorHref() : 设置超链接的目标 URL。

示例:

下面是一个简单的示例,展示如何在 QTextEdit 中使用 QTextCharFormat 来设置特定文本的格式:

#include <QApplication>
#include <QTextEdit>
#include <QTextCharFormat>
int main(int argc, char *argv[]) {QApplication a(argc, argv);QTextEdit editor;// 创建一个 QTextCharFormat 对象QTextCharFormat format;format.setFontWeight(QFont::Bold);format.setForeground(Qt::blue);format.setBackground(Qt::yellow);// 将格式应用到编辑器中的特定文本QTextCursor cursor = editor.textCursor();cursor.movePosition(QTextCursor::Start);cursor.insertText("Hello, World!", format);editor.show();return a.exec();
http://www.dtcms.com/wzjs/523809.html

相关文章:

  • 工程建设其他费百度seo怎么做
  • 手机网站制作套餐精准营销理论
  • 网页设计与网站建设书籍小程序自助搭建平台
  • 怎么做网站多少钱免费论坛建站系统
  • 襄阳万家灯火网站建设成都新闻最新消息
  • 做效果图比较好的模型网站有哪些福州百度关键词排名
  • 动效网站建设宁德市区哪里好玩
  • 电脑网站适应手机如何做腾讯广告投放平台官网
  • 潍坊做网站建设的公司免费seo网站自动推广
  • 百度公司网站排名怎么做可以免费发帖的网站
  • 化妆品企业网站建设的策划方案淘宝客推广有效果吗
  • 做技术开发的网站如何写好软文
  • 网上商城网站建设公司如何建立独立网站
  • 企业培训机构网站源码合肥瑶海区
  • pt网站怎么做手机如何制作一个网页链接
  • 广州网站优化公司如何互联网广告营销方案
  • wordpress百度云对象存储seo快速排名关键词
  • 城乡建设学校网站自媒体平台排名
  • 有关计算机网站建设的论文山东16市最新疫情
  • 视频网站是动态网站吗今天
  • wordpress a5seo关键词是怎么优化的
  • 用vue.js做网站免费学生网页制作成品
  • 网站建设和优化需要几个人爱站数据
  • 网站建设网站模板百度地图导航
  • 重庆网站制作公司多少钱seo公司排名教程
  • 网站建设银行品牌全案策划
  • 可在哪些网站做链接大数据精准营销案例
  • 官方百度整站快速排名优化
  • 深圳哪个网站好推广一点做seo需要用到什么软件
  • 在别人的网站做域名跳转seo内部优化方案