怎么双击QListWidgetItem实现可键盘输入修改

怎么双击QListWidgetItem实现可键盘输入修改,第1张

刚买的新键盘不顺手,改变键盘的映射将你的键盘布局更加适合你。本文改变键盘映射使用的软件是keyTweak,资源放在文末。

1首先安装KeyTweak,打开软件,点击“I Agree”;

2选择相应安装路径,或者直接安装,点击”Install“。

3安装完成,点击”Close“;

4找到之前所安装的文件夹,双击打开”KeyTweakexe“;

5可以看到如下界面,你可以直接在此界面下更改键盘映射,但是如果你的键盘是小键盘(87键等等),此界面就不适用了;于是,点击”Half Teach Mode“;

6进入到如下界面,点击”Scan a Single Key“;然后软件会检测你的键盘输入,按下你需要更改设置的那个键(如按下左边的ctrl键(right control))

7然后在下拉框选择该键要更改的映射(要更改为的键盘的值),如选择 ‘Tab’;

8点击”Remap“,然后再点击”Apply“

9软件提示要重启电脑才能生效,点击”是“即可;

如果觉得更改后的键盘反而更不顺手了,可以点击”Restore Al

如果是指qt编辑器的话,点 文件 session manager 在左下方框中选中“启动时恢复上次会话”。

如果是指自己写代码实现这个功能,就是用qsetting类,加入配置信息后自动生成配置文件,每次打开软件时去读取配置文件。

要析构的,要验证按钮会不会自动的析构,(即在QPushButton类里面的析构函数添加qDebug打印出一些东西就知道调用了),但是QPushButton的这个按钮类也不是自己写的(析构函数也就不知道在哪里),而是系统里就有的。所以这里为了实现验证,这里将会自己构建一个按钮类,并且自己写这个按钮类的析构函数,在析构函数里面添加打印的东西,这样当调用的时候就会显性的知道系统调用了析构函数。

自定义控件就是继承自Qt的自定义的一个类,常用的是继承自QWidget类。在Qt可视化编程中,可视化编程有两种方式:

使用常规的方法,创建一个该类的对象,然后加入到布局管理器中,show一下就可以看到效果了;

Qt Designer提供的控件拖拽创建界面,可是自定义的控件显然不在系统自带的控件列表中,所以我们需要看看自定义的控件是继承自哪个类,例如:QWidget,然后拖出一个QWidget,然后右键点击,选择提升为,这样就可以实现拖拽创建页面了。

QListView是基于Model,而QListWidget是基于Item。这是它们的本质区别。

往QListView中添加条目需借助QAbstractListModel:

如:

MainWindow::MainWindow(QWidget parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

QStringListModel slm = new QStringListModel(this);

QStringList sl = new QStringList();

sl->append("asdfsadfsa");

sl->append("asdfsadfsa");

sl->append("asdfsadfsa");

slm->setStringList(sl);

ui->listView->setModel(slm);

delete sl;

}

而在QListWidget中添加条目可以直接additem

如:

QListWidget list;

listsetViewMode(QListWidget::IconMode );

listsetResizeMode(QListWidget::Adjust);

listsetMovement(QListWidget::Static);

for(int i =0; i < 100 ; i ++){

QListWidgetItem item = new QListWidgetItem(&list);

QStyle::StandardPixmap sp = (QStyle::StandardPixmap)(i % 57);

item->setData(Qt::DecorationRole, qApp->style()->standardPixmap(sp)scaled(QSize(16,16), Qt::KeepAspectRatio, Qt::SmoothTransformation) );

item->setData(Qt::DisplayRole,QObject::tr("Item %1")arg(i));

}

我们可以通过信号和槽的方式对列表控件的选项进行响应,例如

connect(list, SIGNAL(currentTextChanged(QString)), this, SLOT(setText(QString)));

总之,QListWidget是继承QListView,QListView是基于model的,需要自己来建模(例如建立QStringListModel、QSqlTableModel等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定了解,初学者就先不要考虑了,

以上就是关于怎么双击QListWidgetItem实现可键盘输入修改全部的内容,包括:怎么双击QListWidgetItem实现可键盘输入修改、qt编程,如何实现在每次打开程序的时候都可以加载上一次的配置信息,例如第一次打开程序后把几个文件名、qt自定义控件要写析构吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9612091.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存