前言 PySide2 QT PySide2 是一个用于 Python 编程语言的开源框架,它提供了与 QT C++ 框架的绑定,使得开发者可以使用 Python 进行跨平台的图形用户界面 (GUI)...PySide2 是 QT 的官方 Python 绑定,由 The Qt Company 维护和支持。它允许开发者使用 Python 的简洁语法和强大的功能来构建 GUI 应用程序,而无需学习 C++。...开发者可以在设计器中选择和放置各种 QT 控件,如按钮、标签、文本框、列表框等,然后通过属性编辑器设置控件的属性,如大小、位置、颜色、字体等。...设计好界面后,开发者可以将设计文件保存为.ui 格式,这是一种 XML 文件格式,包含了界面的布局、属性和信号槽的定义。...总结而言,QT PySide2 Designer 是一个强大的界面设计工具,使得开发者能够轻松创建和编辑 QT GUI 应用程序的界面 ---- 提示:以下是本篇文章正文内容,下面案例可供参考 一、安装
一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、功能介绍 最近做一个播放器的项目,需要用户自定义编辑定制视频的字幕;为了方便编辑字幕,这里QGraphicsTextItem...需要支持任意拖动,回车确认,鼠标双击进入编辑状态,右键弹出菜单(剪切、复制、删除、全选)等操作。...(Qt::NoTextInteraction); emit EditStatus(false);//编辑完成(发送信号出去) }...::LeftButton){//左键双击进入可编辑状态并打开焦点 emit EditStatus(true);//正在编辑 setTextInteractionFlags...::Key_Return||event->key() == Qt::Key_Enter) { //点击回车失去焦点,编辑完成,后续给FocusOutEvent
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TableWidget...(EditTriggers triggers) 设置触发编辑的事件 editItem(QTableWidgetItem *item) 编辑指定项的内容 openPersistentEditor(QTableWidgetItem...*item) 打开指定项的持久编辑器 closePersistentEditor(QTableWidgetItem *item) 关闭指定项的持久编辑器 itemChanged(QTableWidgetItem...当项的内容发生变化时发出的信号 cellClicked(int row, int column) 单元格被单击时发出的信号 cellDoubleClicked(int row, int column) 单元格被双击时发出的信号...调用 createItemsARow 方法为某一行创建各个单元格的 QTableWidgetItem。 日期处理: 初始日期设定为1997年10月7日。 循环中,每次添加行后,将日期加20天。
将表格变为禁止编辑 在默认情况下,表格里的字符是可以更改的,比如双击一个单元格,就可以修改原来的内容,如果想禁止用户的这种操作,让这个表格对用户只读,可以这样: tableWidget->setEditTriggers...changes.任何时候都能对单元格修改 QAbstractItemView.DoubleClicked 2 Editing starts when an item is double clicked.双击单元格...QAbstractItemView.ExtendedSelection QAbstractItemView.ContiguousSelection 的区别不明显,主要功能是正常情况下是单选,但按下Ctrl或Shift键后,...如果两种都要设置,只要用 Qt.AlignHCenter | Qt.AlignVCenter 的方式即可 3....列表不能移动 headerView->setClickable(false);//不响应鼠标单击 setEditTriggers(QTableWidget::NoEditTriggers);//不能编辑
QAbstractItemView.CurrentChanged1Editing 1 任何时候都能对单元格进行修改 QAbstractItemView.DoubleClicked2Editing 2 双击单元格...将单元格内的内容沿单元格的左边缘对齐 Qt.AlignRight 将单元格内的内容沿单元格的右边缘对齐 Qt.AlignHCenter 在可用空间中,居中显示在水平方向上 Qt.AlignJustify...将文本在可用空间内对齐,默认从左到右 单元格文本垂直对齐方式 选项 描述 Qt.AlignTop 与顶部对齐 Qt.AlignBottom 与底部对齐 Qt.AlignVCenter 在可用空间中,...居中显示在垂直方向上 Qt.AlignBaseline 与基线对齐 如果要设置水平和垂直方向对齐方式,比如在表格空间内上下,左右居中对齐,那么只要使用Qt,AlignHCenter和Qt,AlignVCenter...在默认情况下,表格中的字符是可以更改的,比如双击一个单元格,就可以修改原来的内容,如果想禁止这种操作,让表格对用户只是只读,则可以编辑一下代码 TableWidget.setEditTriggers
运行环境:ubuntu、 Qt5.5.1 例子是C++ GUI Qt4 改成的Qt5,通过一个对话框显示用户可以编辑的(x,y)坐标。...QTableWidgetItem用来显示坐标x和y,tableWidget->item()->setText()则用来设置QTableWidgetItem的内容。...默认情况下,QTableWidget允许编辑。如果需要防止用户编辑,可以调用setEditTriggers(QAbstractItemView::NoEditTriggers)....*item0 = new QTableWidgetItem; item0->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); tableWidget...->setItem(row, 0, item0); QTableWidgetItem *item1 = new QTableWidgetItem; item1->setTextAlignment
一、引言在很多初学者眼中,C++ 更像是一门用于控制台、系统或嵌入式的语言。但实际上,借助 Qt 等强大的 GUI 框架,C++ 同样可以胜任跨平台、高性能的桌面图形应用开发。...Qt 是一个成熟的 C++ GUI 框架,拥有丰富的控件、跨平台支持、信号槽机制等特性,被广泛应用于 Linux 桌面、嵌入式系统和商业软件开发中。...二、Qt 与 C++:为何适合图形界面开发2.1 Qt 的优势 跨平台支持(Windows、Linux、macOS、嵌入式) 支持 C++,也支持 Python(PyQt) 丰富的 GUI 控件与事件机制...); ui->tableWidget->setItem(row, 2, new QTableWidgetItem(dialog.priority())); }}删除任务cpp复制编辑...qmake 八、总结通过 Qt,C++ 程序员可以快速脱离命令行世界,进入图形交互编程的领域。
列表控件 QListWidget *langList = new QListWidget(this); // 初始化列表数据 QStringList initLangs = {"C+...parent) , ui(new Ui::Widget) { ui->setupUi(this); //往这里添加一些元素 ui->listWidget->addItem("C+...QListWidgetItem中,可以设置字体属性,设置图标,设置文字大小,设置是否被选中等状态 // ui->listWidget->addItem(new QListWidgetItem("C+...:需设置item->setFlags(item->flags() | Qt::ItemIsEditable),默认不可编辑。...、行高列宽调整等功能,是 Qt 中最常用的多元素控件之一。
1 QTableWidget QTableWidget是Qt中的表格组件类,相关使用函数可以参考Qt Creator中自带的帮助文档。...Table Widget放入后,可以在ui界面双击这个控件来继续编辑表格的行和列等信息,也可以通过代码的方式来设置表格的信息,本篇通过代码编写的方式,再对Table Widget进行相关信息的初始化。...>lineEditID->setText(QString("%1").arg(m_bookID, 4, 10, QLatin1Char('0'))); //4位10进制, 前面补0 //按下插入按钮后的槽函数...(ui->textEditName->toPlainText())); ui->tableWidget->setItem(curRow, 2, new QTableWidgetItem(ui->...交叉编译的过程可参考之前的文章: 嵌入式Linux-Qt环境搭建 嵌入式Qt-动手编写并运行自己的第1个ARM-Qt程序 通过指令来进行交叉编译: /home/xxpcb/myTest/imx6ull/
前言 本文记录使用 Qt 实现 FFmepg 音视频转码器项目的开发过程。...font-size:30px;color:#009100;border:2px groove gray;border-radius:10px;padding:2px 4px;"); } // 隐藏栅格线、单元格不可编辑...tableWidget_FileList->setEditTriggers(QAbstractItemView::NoEditTriggers); // 让这个表格对用户只读 效果如下: 2、缩放界面 事件过滤器:(双击...,全屏) // 事件过滤器:(双击,全屏) bool Widget::eventFilter(QObject *obj, QEvent *event) { // 指定某个控件 if (obj...(QString(QLatin1String(chDuration)))); ui->tableWidget_FileList->setItem(0, 5, new QTableWidgetItem
()->setText()则用来设置QTableWidgetItem的内容。...*item0 = new QTableWidgetItem; item0->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); tableWidget...->setItem(row, 0, item0); QTableWidgetItem *item1 = new QTableWidgetItem; item1->setTextAlignment...添加描述 QTreeView //create and set Model mp_dirModel = new QDirModel; //可编辑 mp_dirModel-...添加描述 Ⅲ 自定义委托 像Qt里的事件一样,我们都是继承一个已经实现好了类,之后根据需要再实现自己的操作。 这里我想要实现的是双击单元格时,通过combox进行选择。
TableWidget帮助文档的使用 ①帮助文档的使用 我觉得当双击一个单元格内容时,会有一个信号发出,于是去看查了帮助文档,于是有了如下收获。 ?...自定义委托 很久之前和大家分享了Qt Model/View的简便类与预定义模型,之后还差自定义模型和自定义委托,今天就把自定义委托补上。...就像Qt 里的事件一样,我们都是继承一个已经实现好了类,之后根据需要再实现自己的操作。...这里我想要实现的是双击单元格时,通过combox进行选择,原本的TableWidget没有这样的功能,所以需要通过委托来实现,再所以就需要继承QItemDelegate,之后重新实现一些函数,和Qt 重新封装的...另外,如果使用自定义委托,双击单元格获得单元格数据内容时,就要加限定了。 最后效果: ?
QHeaderView.Stretch) 随窗口大小自动调整行高: table.verticalHeader().setSectionResizeMode(QHeaderView.Stretch) 设置表格的编辑规则...第0项是禁止用户编辑表格,表格只用来显示可读的数据。...|Qt.AlignVCenter) ?...甚至可以指定单元格以控件显示: table.setCellWidget (0,2, QSpinBox()) table.setCellWidget (1,2, QCheckBox("知否知否")) 表格的各种信号(以C+..., QSize import random import resource #self.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter) def
column, QTableWidgetItem*) 根据行数列数设置表格中的元素 currentItem() 返回被选中的元素 QTableWidgetItem* currentRow() 返回被选中元素是第几行...currentColumn() 返回被选中元素是第几列 row(QTableWidgetItem*) 获取指定 item 是第几行 column(QTableWidgetItem*) 获取指定 item...同时,利用信号可以实现用户交互逻辑,如当用户点击或双击单元格时执行特定的操作。...tabBarDoubleClicked(int) 在双击选项卡的标签条的时候触发,参数为被点击的选项卡编号。...需要把按钮的垂直方向的 sizePolicy 属性设置为 QSizePolicy::Expanding 尽可能填充满布局管理器,才能看到效果。
TableWidget 表格结构组件,该组件可以看作是TreeWidget树形组件的高级版,表格组件相比于树结构组件灵活性更高,不仅提供了输出展示二维表格功能,还可以直接对表格元素直接进行编辑与修改操作...在研究Widget组件之前先来熟悉一下View组件,View组件相对Widget组件来说只是不具备编辑功能,其他功能保持一致,View组件支持与数据库建立映射关系,如果表格无需更新则最好可以使用View...// 设置总行数 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); // 设置表结构默认不可编辑...// 初始化右侧的编辑框等属性 ui->radioButton->setChecked(true); ui->lineEdit_1->setText(""); ui->lineEdit...if(col == 2) cellItem->setText(ui->lineEdit_2->text()); } });信号绑定后,
委托(Delegate)用于定制数据的渲染和编辑方式。...list.setSelectionMode(tree.selectionMode()); table.setSelectionMode(tree.selectionMode()); //树视图双击信号发射后..., int role) { //检测索引有效且项目可编辑 if(index.isValid() && role == Qt::EditRole) { m_stringList.replace...默认的委托实现由QStyledItemDelegate类提供,这也被用作Qt标准视图的默认委托,选择 QStyledItemDelegate或QItemDelegate中其一来为视图中的项目绘制和提供编辑器...,作为表头 QTableWidgetItem* headerV = new QTableWidgetItem("Cat"); tableWidget.setVerticalHeaderItem
TableWidget 表格结构组件,该组件可以看作是TreeWidget树形组件的高级版,表格组件相比于树结构组件灵活性更高,不仅提供了输出展示二维表格功能,还可以直接对表格元素直接进行编辑与修改操作...在研究Widget组件之前先来熟悉一下View组件,View组件相对Widget组件来说只是不具备编辑功能,其他功能保持一致,View组件支持与数据库建立映射关系,如果表格无需更新则最好可以使用View...// 设置总行数 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); // 设置表结构默认不可编辑...// 初始化右侧的编辑框等属性 ui->radioButton->setChecked(true); ui->lineEdit_1->setText(""); ui-...if(col == 2) cellItem->setText(ui->lineEdit_2->text()); } }); 信号绑定后,
双击摄像机节点自动播放视频,双击节点自动依次添加视频,会自动跳到下一个,双击父节点自动添加该节点下的所有视频。可选主码流、子码流。...*itemFile = new QTableWidgetItem; itemFile->setText(name); itemFile->setData(Qt::UserRole, QString...(data)); itemFile->setTextAlignment(Qt::AlignCenter); //添加文件大小 QTableWidgetItem *itemSize...::getFileSizeMB(size)); itemSize->setTextAlignment(Qt::AlignCenter); //添加单位 QTableWidgetItem...*itemUnit = new QTableWidgetItem; itemUnit->setText("MB"); itemUnit->setTextAlignment(Qt::AlignCenter
在C++开发中,我们可以使用一些强大的图形库来构建出漂亮且用户友好的GUI。...针对这些因素,以下是几个常用的C++图形库:Qt:Qt 是一个功能强大且跨平台的图形库,它提供了丰富的控件和工具,使得构建用户友好的GUI变得相对容易。...通过使用Qt和其他图形库,你可以创建出功能丰富且用户友好的GUI应用程序。一个实际的C++图形界面开发场景是创建一个简单的学生信息管理系统。...* nameItem = new QTableWidgetItem(studentList[i].name); QTableWidgetItem* ageItem = new QTableWidgetItem...(QString::number(studentList[i].age)); QTableWidgetItem* majorItem = new QTableWidgetItem(
多元素控件 Qt 中提供的多元素控件有: QListWidget QListView QTableWidget QTableView QTreeWidget QTreeView xxWidget 和 xxView...parent) , ui(new Ui::Widget) { ui->setupUi(this); ui->listWidget->addItem("C+...表格中的每个单元格,是⼀个 QTableWidgetItem 对象。...tableWidget->currentColumn(); // 删除 ui->tableWidget->removeColumn(col); } 默认情况下,单元格中的内容直接就是可编辑的...如果不想让⽤⼾编辑, 可以设置 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); 3.