例子4.11 从键盘输入一个大写字母,要求改用小写字母输出

本文分享了一个简单的C语言程序,用于输入一个字符并将其ASCII值显示出来,同时将该字符转换为其小写形式(如果适用),并输出转换后的字符及其ASCII值。此程序适合初学者了解字符与ASCII值之间的关系。

#include <stdio.h>
void main()
{   char a,b;
   a=getchar();
   printf("%c,%d/n",a,a);
    b=a+32;
    printf("%c,%d/n",b,b);
}

//基本没问题了,这是这几个月努力的结果,但是这题还待改进

以下是一个完整的例子,演示如何在Qt Creator 4.11版本中使用TableView并为每列表头添加筛选功能。 ``` #include <QApplication> #include <QStandardItemModel> #include <QTableView> #include <QHeaderView> #include <QSortFilterProxyModel> int main(int argc, char *argv[]) { QApplication app(argc, argv); // Create a standard item model and populate it with data QStandardItemModel *model = new QStandardItemModel(); model->setColumnCount(3); model->setHeaderData(0, Qt::Horizontal, "Name"); model->setHeaderData(1, Qt::Horizontal, "Age"); model->setHeaderData(2, Qt::Horizontal, "Gender"); QList<QStandardItem *> row1 = QList<QStandardItem *>() << new QStandardItem("John") << new QStandardItem("25") << new QStandardItem("Male"); QList<QStandardItem *> row2 = QList<QStandardItem *>() << new QStandardItem("Jane") << new QStandardItem("30") << new QStandardItem("Female"); QList<QStandardItem *> row3 = QList<QStandardItem *>() << new QStandardItem("Bob") << new QStandardItem("27") << new QStandardItem("Male"); model->appendRow(row1); model->appendRow(row2); model->appendRow(row3); // Create a table view and set the model QTableView *tableView = new QTableView(); tableView->setModel(model); // Enable sorting and filtering tableView->setSortingEnabled(true); tableView->setAlternatingRowColors(true); // Create a proxy model for filtering QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(); proxyModel->setSourceModel(model); tableView->setModel(proxyModel); // Set up the filter boxes for each column QHeaderView *header = tableView->horizontalHeader(); for (int i = 0; i < header->count(); i++) { QComboBox *comboBox = new QComboBox(); comboBox->setObjectName("filterBox"); header->setSectionWidget(i, comboBox); // Populate the filter box with unique values from the column QSet<QString> uniqueValues; for (int j = 0; j < model->rowCount(); j++) { uniqueValues.insert(model->index(j, i).data().toString()); } foreach (QString value, uniqueValues) { comboBox->addItem(value); } // Connect the signal to filter the proxy model QObject::connect(comboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::activated), [=](int index){ proxyModel->setFilterKeyColumn(i); proxyModel->setFilterRegExp(QRegExp(comboBox->currentText(), Qt::CaseInsensitive, QRegExp::FixedString)); }); } tableView->show(); return app.exec(); } ``` 在这个例子中,我们创建了一个包含三列数据的标准项模型,并为每列添加了表头。然后,我们使用这个模型创建了一个TableView,启用了排序和交替行颜色,并创建了一个QSortFilterProxyModel用于过滤。接下来,我们为每列表头创建了一个ComboBox,并将其添加到水平表头中。我们还从每列中提取了唯一值,并将其添加到过滤框中。最后,我们将每个ComboBox的activated信号连接到了一个lambda表达式中,该表达式设置了QSortFilterProxyModel的过滤器。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值