效果图是这样的. 实现的过程是listview + delegate 本身我想是用listwidget + delegate[网上查询到不可实现] 之前也试过在item中添加布局跟控件,但是在点击的时候或者移动的时候会出现bug So.多写点长点姿势~ 使用过listview + delegate 去实现上述效果,左边的图片是重画的,小红叉也是重画的,小红叉上面的区域点击有关闭效果是,重写了editevent去实现, 并且将这个小红叉连接到对应的删除槽去删除这个Item.下面附上源码.添加新的数…
使用qss可以显示每个item的网格: selection-background-color: rgb(170, 170, 127); gridline-color: rgb(255, 255, 255); 以上是简单的用法,如果达不到需求,那么只能使用delegate,重写其中的paint方法去重新画出网格 并且,item上的数据也是要自己画上去的使用userdata表示.这里就不给出源码,详情可以追问.…
http://doc.trolltech.com/main-snapshot/model-view-programming.html 介绍 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接口,使得更多的数据源可以被这些item view使用.这里对model/view的结构进行了描述,结构中的每个组件都进行了解释,给出了一些例子说明了提供的这些类…
1.view与Widget 在UI中,最常用的就是list/grid/tree了(在Qt中,grid被称为table).尤其是做那些数据库相关的程序,可能每个界面都要用到 list或grid.在Qt中,它们被归为item view class.有两种实现,一种叫item based,这些类名以widget结尾,如QListWidget等.另一种叫model based,这些类以view结尾,如QListView等. item based widget使用起来很简单,与MFC中的CListCtrl…
最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/View是他认为Qt中最不好的一部分了.真的是这样吗?为了回馈开源社区,我写了这篇blog,写的是我认为比较有价值的东东.题目起得是解析,但也没有特别细节的介绍,点到为止,有兴趣的Tx可以继续讨论.我所看的资料有<C++ GUI Programming with Qt 4, Second Edition…
前言 在上一篇中,我们基本上完成了主要功能的实现,剩下的一些导出.进程子模块信息等功能,留到后面再来慢慢实现.这一篇来讲述如何对主界面进行个性化的定制.Qt库提供的只是最基本的组件功能,使用这些组件开发出来的软件基本上个性可言.如果开发的产品只讲究实用性,那么UI体验尚可搁置一边.如果要面向客户推广部署,那么改善一下UI视觉效果对于产品的推广也会有莫大的帮助.闲话不多说.先来对比一下界面个性化定制前后的效果: 先不说界面美化之后,界面有多绚丽.震撼人心.但是,突出产品主题.彰显个性这块倒是不折不…
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>"   QApplication类用于管理应用程序范围内的资源.其构造函数需要main函数的argc和argv作为参数.   widget被创建时都是不可见的(always created hidden).widget中可容纳其它widget.   Qt中的widget在有用户行为或状态改变时会emit sig…
QListView是基于Model,而QListWidget是基于Item.这是它们的本质区别. 往QListView中添加条目需借助QAbstractListModel: 如: MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QStringListModel* slm = new QStringListModel(this); Q…
海思SDK版本:Hi3559AV100_SDK_V2.0.1.0 编译器版本:aarch64-himix100-linux-gcc 6.3.0(这个版本有点小问题,使用前需要先清除本地化设置) $ export LANG=C 编译器默认安装到了/opt/hisi-linux/x86-arm/aarch64-himix100-linu目录下. 首先,对编译器做一点小改动. 将/opt/hisi-linux/x86-arm/aarch64-himix100-linux/target/usr链接到/o…
写在前面 Delegate Predicate Action Func 逆变和协变 先说下什么是委托(Delegate),委托在C#中是一种类型,和Class是一个级别,但是我们经常把它看做是一个方法.为什么是方法?准确的说应该是回调函数,在C运行时的qsort函数获取指向一个回调函数的指针,以便对数组中的元素进行排序.C#中提供了一种机制,就是委托,一种回调函数的机制. 在我们做项目的过程中,委托用到的地方很多,像线程中修改窗体的状态.窗体控件事件和异步操作已完成等,以前我们创建委托的时候用d…
背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h"文件包含 #include <QCloseEvent>;的头文件. 其次,在该".h"文件中声明函数 void closeEvent( QCloseEvent * event); 注意:该函数已经在QT内部建立为点击"X"按钮的槽,不能更改其函数名: 最后…
虽然特别简单,但是对于小白来说,还是有必要过一下脑子和眼睛,当然还得过手(江湖传言:眼过千变,不如手过一遍),所以记录在此: #include "tablewidgetxxx.h" #include <QtGui/QApplication> #include <QtGui/QListWidget> #include <QtGui/QSplitter> int main(int argc, char *argv[]) { QApplication ap…
QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点). 1. QStandardItemModel在QTreeView中的使用 使用QTreeView的对应模型是QStandardItemModel,这个是Qt对应ui界面最有用的模型,它可以用于树形控件.列表控件.表格控件等等和条目有关的控件.QStandardItemModel用于列表…
from aa import Ui_Formfrom PyQt4.Qt import *from PyQt4.QtCore import *from PyQt4.QtGui import *from sys import *class A(QWidget,Ui_Form):    def __init__(self):        super(A,self).__init__()        self.setupUi(self)        self.Button.clicked.conn…
本文索引: 需求 原理 实现遮罩控件 遮罩的使用 需求 我们在显示一些模态对话框的时候,往往需要将对话框的背景颜色调暗以达到突出当前对话框的效果,例如: 对话框的父窗口除了标题栏以外的部分都变暗了,在父窗口的对比下对话框的显示效果就得到了强调. 这种设计多见于web页面,当用户点击诸如购买之类的按钮后页面会弹出一个购物清单确认对话框,并将对话框以外的内容用类似图中的效果处理,使用户可以将注意力集中在对话框本身. 今天我们也将使用Qt来实现这一效果. 原理 在介绍具体做法前我想先介绍一点预备知识-…
/********************************************************************************************* * Qt Quick Hello World hacking * 说明: * 本代码是Qt生成Quick应用程序的时候自动生成Hello World程序: * * 2015-5-17 深圳 晴 南山平山村 曾剑锋 ************************************************…
例程 : 又是好风景 : http://blog.csdn.net/qiao_yihan/article/details/46413345 关键点: 1.QTableWidgetItem 的 setFlags() 和 flags() 2.QTableWidget 不能 设置 setEditTriggers() 为 QAbstractItemView::NoEditTriggers,否则1中的设置会失效 table_widget->setEditTriggers(QAbstractItemView…
Java 重写方法 子类可以继承父类的对象方法 在继承后,重复提供该方法,就叫做方法的重写 又叫覆盖 Override 步骤 1 : 父类Item 父类Item有一个方法,叫做effect package property; public class Item { String name; int price; public void buy(){ System.out.println("购买"); } public void effect() { System.out.println…
this->setWindowFlags(Qt::WindowCloseButtonHint); // 仅保留关闭按钮 this->setAttribute(Qt::WA_DeleteOnClose); // 关闭窗口自动释放资源 this->setWindowFlags(Qt::FramelessWindowHint); // 无边框 this->setWindowState( Qt::WindowFullScreen ); // 全屏 this->setWindowFla…
Qt::CheckState checkSibling(QStandardItem * item); void treeItem_checkAllChild(QStandardItem * item,bool check = true); void treeItem_checkAllChild_recursion(QStandardItem * item,bool check = true); void treeitemCheckchildchanged (QStandardItem * ite…
itemwidget.h #ifndef ITEMWIDGET_H #define ITEMWIDGET_H #include <QtWidgets/QWidget> #include <QTreeWidget> #include "ui_itemwidget.h" class itemWidget : public QWidget { Q_OBJECT public: itemWidget(QWidget *parent = 0); void init();…
0.说明 一个QListWidgetItem是QListWidget中的一项(一行). 每个Item都可以持有多部分的信息,并将它们在适当时候展示出来. 在构造一个Item时指明它所在的List Widget,这个Item就会自动被插入到List中: new QListWidgetItem(tr("Hazel"), listWidget); 也可以不指明List Widget,之后调用QListWidget::insertItem()手动插入List. 通常使用text()和icon(…
0.说明 QTableWidget类提供了一个基于Item的Table视图,如下图: Table Widget提供了表格用于显示.Table中的每个Item都是QTableWidgetItem对象. 如果我们想要一个存储我们自己的model的Table,应该用QTableView而不是这个类. Table Widget构造时,传入Table的行数和列数作为参数: tableWidget = new QTableWidget(12, 3, this); 不过,也可以先构造一个空Table Widg…
QListWidget和QTableWidget的使用和属性,QTableWidget和QListWidget样式表的设置,滚动条的样式设置 一.QListWidget的使用 //一.QListWidget list_widget = new QListWidget(); //list_widget->resize(200,300); list_widget->setFixedWidth(300); //设置item图标大小 list_widget->setIconSize(QSize(…
这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能. 对象,即是网店的商品物件,Insus.NET只为其添加2个属性,物件的ID的Key和名称ItemName以及2个构造函数,最后一个方法是重写ToString()方法. class Item { private int _key; public int Key { get { return _key; } set { _key = value; } } private string _ItemName; public…
使用MVVM设计模式构建WPF应用程序 本文是翻译大牛Josh Smith的文章,WPF Apps With The Model-View-ViewModel Design Pattern,译者水平有限,如有什么问题请看原文,或者与译者讨论(非常乐意与你讨论). 本文讨论的内容: WPF与设计模式.MVP模式.对WPF来说为什么MVVM是更好的选择.用MVVM构建WPF程序.本文涉及的技术.WPF.数据绑定. 目录: 1引言 2有序与混乱 3模型-视图-视图模型的演变 4为什么WPF开发者喜欢M…
九宫格布局 UICollectionViewController 创建控制器一定要指定默认的布局样式. // 加载一个九宫格布局的控制器,必须指定布局样式 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; vc = [[SLQGuideCollectionController alloc] initWithCollectionViewLayout:layout]; 也可以重写控制器的in…
这一章介绍数据绑定.本章共计27个示例,全都在VS2008下.NET3.5测试通过,点击这里下载:ConnectedData.rar 1.ShowDataWithoutBinding注: <?Mapping XmlNamespace="local" ClrNamespace="TestBinding" ?> 语法已经升级为: xmlns:local="clr-namespace:TestBinding" 这个例子讲的是在WPF中使用传…
目录 PyQt5库(一) 一. 简介 1. 什么是 Qt 2. 什么是PyQt 3. 环境搭建 二. 基本结构 1. 第一个程序 2. 控件操作 3. 快速生成代码 4. 面向对象 三. 基类控件 1. QObject 1.1 设置标识 1.1.1 语法 1.1.2 应用场景 1.3 父子对象 1.3.1 语法 1.3.2 应用场景 1.4 信号操作 1.4.1 信号与槽机制 1.4.2 机制描述 1.4.3 信号处理 1.4.4 案例 1.5 类型判定 1.5.1 语法 1.5.2 案例 1.…
zetcode教程 汉化版: https://maicss.gitbook.io/pyqt5-chinese-tutoral/ 官方网站: https://www.riverbankcomputing.com/static/Docs/PyQt5/introduction.html QT使用手册: https://doc.qt.io/archives/qtjambi-4.5.2_01/com/trolltech/qt/gui/QComboBox.html 学习策略 1.明确需求 工作时是项目驱动,…