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

常用网址网站关键词优化排名技巧

常用网址,网站关键词优化排名技巧,wordpress自定义字段图文,兼职做设计什么网站好1. 问题 使用Qt进行研发时,遇到一个问题,当在系统默认输入法中文(英文输入法或者搜狗就不会触发闪退)的情况下,选中QTableWidget控件(QTableWidgetItem有焦点,但是不双击)&#xff…

1. 问题

使用Qt进行研发时,遇到一个问题,当在系统默认输入法中文(英文输入法或者搜狗就不会触发闪退)的情况下,选中QTableWidget控件(QTableWidgetItem有焦点,但是不双击), 进行输入,会导致软件错误退出。
这个Bug在Qt的Bug记录里也存在:QTableWidgetItem cause stack overflow
image.png

2. 问题复现

输入以下代码,按照问题操作步骤,可复现问题。

    ui->tableWidget->setCellWidget(0, 1, new QLineEdit);

image.png

3. 解决方案1 设置输入方式,紧急解决方案

ui->tableWidget->setInputMethodHints(Qt::ImhHiddenText);

4. 解决方案2 每个设置Item的地方使用setCellWidget,非最优解

    for (int i = 0; i < ui->tableWidget->rowCount(); ++i){for (int j = 0; j < ui->tableWidget->columnCount(); ++j){ui->tableWidget->setCellWidget(i, j, new QLineEdit);}}

5. 解决方案3 使用代理,首选建议

示例代码
.h

// 自定义代理类,继承自 QStyledItemDelegate
class SpinBoxDelegate : public QStyledItemDelegate
{Q_OBJECT
public:SpinBoxDelegate(QObject *parent = nullptr) : QStyledItemDelegate(parent) {}// 创建编辑器,当用户开始编辑单元格时调用QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,const QModelIndex &index) const override{QSpinBox *editor = new QSpinBox(parent);editor->setMinimum(0);editor->setMaximum(100);return editor;}// 设置编辑器的数据,将模型中的数据设置到编辑器中void setEditorData(QWidget *editor, const QModelIndex &index) const override{int value = index.model()->data(index, Qt::EditRole).toInt();QSpinBox *spinBox = static_cast<QSpinBox*>(editor);spinBox->setValue(value);}// 将编辑器中的数据保存到模型中void setModelData(QWidget *editor, QAbstractItemModel *model,const QModelIndex &index) const override{QSpinBox *spinBox = static_cast<QSpinBox*>(editor);int value = spinBox->value();model->setData(index, value, Qt::EditRole);}// 更新编辑器的几何形状,确保编辑器显示在正确位置void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option,const QModelIndex &index) const override{editor->setGeometry(option.rect);QStyledItemDelegate::updateEditorGeometry(editor, option, index);}
};

调用:

#include <QtWidgets>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 创建一个表格视图QTableView tableView;// 创建一个标准的表格数据模型QStandardItemModel model(4, 2);model.setHeaderData(0, Qt::Horizontal, "Integer");model.setHeaderData(1, Qt::Horizontal, "Square");// 为表格设置数据模型tableView.setModel(&model);// 创建一个自定义代理实例SpinBoxDelegate delegate;// 将代理应用到第一列tableView.setItemDelegateForColumn(0, &delegate);// 填充表格数据for (int row = 0; row < 4; ++row) {for (int column = 0; column < 2; ++column) {QModelIndex index = model.index(row, column);if (column == 0) {model.setData(index, row);} else {int value = row * row;model.setData(index, value);}}}tableView.show();return app.exec();
}

image.png

http://www.dtcms.com/wzjs/294784.html

相关文章:

  • asp.net网站建设深圳大鹏新区葵涌街道
  • 广东做网站公司有哪些aso优化公司
  • 企业网站开发视频广告素材
  • 成都网站建设推进方案seo整站优化更能准确获得客户
  • 长宁微信手机网站制作站长工具如何使用
  • 陌上香坊是做盗版的网站吗seo的优化技巧有哪些
  • 阿里大鱼Wordpress湖南有实力seo优化哪家好
  • 网站建设jsp网页制作接单
  • 建设银行官方网站广州凡科建站登录
  • 如何在自己做的网站中顶置内容qq推广官网
  • 做婚纱网站的意义seo的五个步骤
  • 用什么建设网站哪些平台可以免费发布产品
  • 个人视频网站怎么做产品推广方案怎么做
  • 网站漂浮图怎么做竞价托管服务多少钱
  • 云盘网站如何做广告投放网站
  • 交互做的好的中国网站网站seo检测
  • django做网站效率高吗重庆网站建设软件
  • 软件定制开发网站建设网络营销有本科吗
  • 中国建设银行西平支行网站百度账号登录入口官网
  • 网站建设中 翻译网络营销推广方法十种
  • 成都注册公司的流程及手续seo行业
  • 网站建设怎么用长尾做标题广东seo网站设计
  • 广州网站建设与网页设计免费seo快速排名系统
  • 中国可信网站查询商业软文案例
  • 正规网站备案代理口碑营销5t
  • 嘉兴市城乡规划建设管理网站济南网站建设
  • 沈阳网站优化公司seo竞价排名
  • wordpress商城模板许昌seo推广
  • 肇庆做网站的有hao123网址导航
  • 网站建设如何跑单子app拉新项目推广代理