Qt绘图学习(1)】的更多相关文章

paintEvent()被调用的时机;1.当窗口第一次被show()的时候,Qt程序会自动产生一个绘图事件,调用绘图事件:2.重新调整窗口部件大小的时候,系统也会产生一个绘制事件.3.当窗口部件被其他窗口部件遮挡,然后又再次显示出来的时候,就会对那些隐藏的区域产生一个绘制事件.同时可以调用QWidget::update()或者QWidget::repaint()来强制产生一个绘制事件.二者的区别是:repaint()函数会强制产生一个即时的重绘事件,而update()函数只是在Qt下一次处理事件…
转至:http://blog.51cto.com/9291927/2138876 Qt开发学习教程 一.Qt开发基础学习教程 本部分博客主要根据狄泰学院唐老师的<QT实验分析教程>创作,同时根据天山老妖自己的理解和网络搜集的资料及QT官方文档对部分知识点进行了扩展.本系列博客由天山老妖创作,发布于51CTO博客上.狄泰学院网站:http://course.dt4sw.com/ Qt开发基础学习教程目录如下: QT开发(一)——QT简介http://blog.51cto.com/9291927/…
Qt的学习资料比起其它C/C++的GUI组件来说已经算很全的了.Google的话能解决很多问题,如果没搜到资料的话,如果不是问题太过具体或者奇葩,那就是搜索方法的问题.中文教程中,Qt学习之路系列很不错,英文版官方Tutorial和自带的API文档已经很完美了(不排除以前QThread用法没更新的那种情况).要说社区的话,KDE社区是很活跃的开发社区(https://forum.kde.org/)还有Qt Center也算一个吧,不过感觉里面解决问题的人很少,找问题还可以(http://www.…
Qt 多线程学习 转自:http://www.cnblogs.com/IT-BOY/p/3544220.html 最近的项目上用到了关于多线程的知识,自己也比较感兴趣,所以就拿了那本<C++ GUI Qt4 编程>来学习. 这本书的第14章是关于多线程的知识,使用的Qt版本是Qt4.x.在下用的是最新的Qt 5.2,所以代码上有一些不兼容,稍加修改就可以运行了. Qt的多线程简单来说就是继承QThread类,重载run()函数,start()启动线程.首先来看下书上的第一个例子:(修改版的代码…
Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么就去帮助文档查看用法. 我们使用 Qt 帮助文档,主要分为这么几步: 1)类使用的相关介绍 2)查看所用部件(类)的相应成员函数(功能,参数,返回值) 3)查看部件的信号 4)查看部件的事件(所对应的虚函数如何编写) 1)类使用的相关介绍 光标移动到类名字的地方,接着按“F1”即可跳…
Qt绘图的设置 QPainter::Antialiasing // 反锯齿 QPainter::TextAntialiasing // 文字反锯齿 QPainter::SmoothPixmapTransform // 采用平滑的Pixmap变换算法 设置 painter.setRenderHint(QPainter::Antialiasing, true); 了解Qt绘图函数 绘图方法在上图已经非常清晰的展示了,方法参数也很简单,使用时一看便知. Qt画笔风格 1)画刷风格 2)画笔风格 3)连…
Java Web-servlet.HTTP in servlet和捎带的Java绘图学习 server applet:运行在服务器端的小程序 动态项目的动态内容的java类依赖于服务器才能运行,由tomcat执行,所以需要遵守一定的规则(接口)才能被Tomcat所识别,这个接口就是servlet. 快速入门 创建一个JavaEE项目 定义一个类,实现Servlet接口 实现接口中的方法 package com.jiading.web.servlet; import javax.servlet.*…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在<第15.17节 PyQt(Python+Qt)入门学习:PyQt图形界面应用程序的事件捕获方法大全及对比分析>介绍了PyQt中各种事件捕获的方法,其实某些特殊情况下,不想对需要捕获事件对象的类进行子类化(如针对Designer中可视部件在界面中布局的对象,子类化后就不能利用Designer直接部署部件),而安装事件过滤方法又麻烦,针对这种情况…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 Designer中的Dial刻度盘输入部件提供一个圆形的刻度表,类似速度表,对应类为QDial类.QDial继承自QAbstractSlider(关于QAbstractSlider的功能请参考<PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解>),因此刻度盘与滑动条类似.当…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 Designer输入部件中的Horizontal Slider和Vertical Slider是用于通过移动滑块控制输入数字的滑动条部件,二者对应同一个类QSlider.滑动条部件提供垂直或水平滑动条.滑动条移动时,滑块所在的位置会转换为对应的数值. QSlider本身的功能很少,大部分功能都从QAbstractSlider中继承,关于Q…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在<PyQt(Python+Qt)学习随笔:QSpinBox数字设定部件简介>介绍了数字调整框的功能,QDoubleSpinBox同样是从父类QAbstractSpinBox派生的子类,其功能与QSpinBox数字调整框基本类似,可以说QSpinBox数字调整框有的功能在QDoubleSpinBox基本同样存在,只是QDoubleSpinBox浮…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QTextEdit是一个高级的所见即所得的文档查看器和编辑器,支持使用HTML4样式标记的富文本格式,可以显示图像.列表和表格. PyQt的富文本处理提供了一系列丰富的类,包括QTextEdit.QTextDocument.QTextCharFormat.QTextCursor.QTextBlock.QTextList.QTextFrame.QTextTab…
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 如果使用自定义信号,一定要记得信号是类变量,必须在类中定义,不能在实例方法中定义,否则后面发射信号和连接槽方法时都会报错. 案例: class configWin(ui_configWin.Ui_configWin,QtWidgets.QWidget): def __init__(self,parent=None): super().__init__(parent)…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 Scroll Area提供了一个呈现在其他部件上的可滚动区域视图,滚动区域用于显示框架内的子部件的内容.实际上在Designer中设计部件的部署时,需要提供滚动区域的部件应该放在Scroll Area部件上. 下图是将一个标签文本放到滚动区域之上: 下图是该标签对应区域: 可以看到标签的区域在滚动区域之内. 二.滚动区域相关的概念 在学习滚动区域时,老猿才开始以为很简单,属性才两个,结果…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 TabWidget选项卡组件是一个带一到多个选项卡栏和对应页面区域的组件,对应类QTabWidget,每个选项卡栏对应一个单独的页面,用于显示与每个选项卡相关的内容.默认情况下,选项卡栏显示在页面区域上方,但可以设置组件的tabPosition属性来设置不同的选项卡栏位置.页面区域中只显示当前页面:其他所有页面均隐藏,只有切换到对应选项卡栏时才会显示,可以通过单击选项卡或按Alt+字母快…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 使用toolBox开发应用时,通过Designer设计ui界面时,只能在Designer中设计toolBox放置的位置以及增加标签(包括设定项名称.标签的文本.图标和工具提示信息)以及指定当前项,但无法指定标签部件项对应的部件.因此如果要结合Designer来进行工具箱的应用开发,可以借鉴如下步骤: 设计UI界面,并放置toolBox: 在ui中鼠标右键选中toolBox,通过"insert pa…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域可以设置布局,布局的作用其实与其他布局一样,就是在滚动区域大小调整时,滚动区域内的子部件跟随进行大小调整,并对窗口中无法展现的内容使用滚动条进行展现. 滚动区域自带布局属性,通过鼠标右键点击滚动区域部件,选择下图中的layout子菜单即可设置滚动区域的布局: 滚动区域的布局结合部署在滚动区域部件的大小策略,可以有效展现子部件的内容.如: 上图中的文本标签是代码生成的超长文本串,如果滚动区域…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在Designer中设计将一个lable放到滚动区域上,使用PyUIC生成代码后,可以看到除了QScrollArea.label 标签外,还多了个scrollAreaWidgetContents对象,并且label的父对象被设置为了这个scrollAreaWidgetContents对象,而滚动区域则调用scrollArea.setWidget(self.scrollAreaWidgetConte…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域可以针对部署在其上的子部件在不可见时进行滚动展示,但这种滚动展示仅只能展示内容层可见范围的子部件内容,当子部件自身的长度超长时不会自动展示子部件超长的内容.要展示子部件的超长内容,必须设置滚动区域的布局属性. 示例:滚动区域展示超长文本标签 UI设计如下界面: 当未设置布局时,将界面拉伸之后,发现文本标签的内容无法随拉伸自动展现: 设置滚动区域布局后,展现效果如图: 滚动区域的布局请参考上…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 滚动区域的widgetResizable属性用于控制滚动区域的内容部署层是否应跟随滚动区域的大小变化进行大小跟随调整,当滚动区域框架(即展现层)大小小于内容部署层大小时,需要通过滚动窗口才能看到完整的内容部署层上的内容. 关于滚动区域的展现层和内容部署层请参考<PyQt(Python+Qt)学习随笔:QScrollArea滚动区域详解>的介绍. 当滚动区域的widgetResizable 属性为…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 Scroll Area滚动区域提供了一个呈现在其他部件上的可滚动区域视图,对应类为QScrollArea,该类是从QAbstractScrollArea派生的,除了继承父类的属性外,在Designer中,QScrollArea滚动区域可以设置的自身的属性包括alignment和widgetResizable两个.但老猿再开始在设置alignment属性时,发现似乎没有什么作用. 其实这是因为滚动区…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大数据项数为总行数和总列数的乘积,另外在表格中可以设置水平和垂直标题. 表格部件对应类为QTableWidget ,QTableWidget 表格部件中的项类型为QTableWidgetItem类.QTableWidget 从QTableView派生的子类,内置默认模型,如果表格展现的应用需要使用自己…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.搜索项 在表格部件中,可以根据文本以及匹配模式来搜索满足条件的项,调用语法: list[QTableWidgetItem] findItems( str text, Qt.MatchFlags flags) 返回值为所有满足条件的项构成的列表,如果没有找到匹配项,返回空列表. Qt.MatchFlags的取值及含义请参考<PyQt(Python+Qt)学习随笔:Model/View中的枚举类…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.触发编辑项的editItem方法 QTableWidget提供了触发项编辑的方法,调用语法如下: editItem(QTableWidgetItem item) 注意: editItem方法生效必须设置项的标记flags为可编辑 editItem一次只能触发一个项进行编辑,一旦退出编辑状态(如改变焦点),除非再次调用editItem或设置editTriggers触发编辑或打开永久编辑器否则对应…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的行数.列数.当前项.当前行.当前列等属性访问方法. 1.行数rowCount QTableWidget的rowCount属性保存表格部件中的行数,在QTableWidget创建时如果没有指定行数,则缺省行数为0,QTableWidget创建后可以通过 setRowCount方法调整行数. 要获取当前…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget表格部件中,如果需要实现表格中各列要占满部件中的可用空间,同时实现各列平分所有空间,有两种方法来实现. 方法一.设置水平表头的sectionResizeMode为Stretch 当水平表头的sectionResizeMode设置为QHeaderView.Stretch后,各列会自动均分表格部件显示部分的水平空间. 示例代码: self.tableWidget.horizo…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件中行高和列宽的计算在Qt提供的资料中内容介绍比较泛,细节说得不清楚,为此老猿花了整整2天时间进行反复摸索,最终将行高和列宽的计算方法研究明白了,在此整理 一.对列宽的计算: 对QTableWidget表格部件的每个项的列宽计算方式如下: 1.1.获取表头的sectionResizeMode属性 通过QTableWidget.horizontalHeader()方法取…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 关于ResizeMode的使用请参考<PyQt(Python+Qt)学习随笔:QTableWidget表格部件中行高和列宽的计算方式>. 老猿Python,跟老猿学Python! 老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget中项操作相关的属性包括是否可用.是否可选中.是否可编辑.是否可复选.是否选中.是否复选等,这些属性的设置与影响界面上项的操作,所以老猿将其归类项操作相关方法.这些项操作相关方法所有Model/View相关类涉及项操作都是一样的. 1.项标记相关方法 项的标记用于标记项是否可操作,由多个属性位组合而成,具体项标记的取值及含义请参考<PyQt(Python+Qt)学习随笔:Mo…
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件中的QTableWidgetItem项可以单独设置复选状态,如图所有项都设置了复选状态,每行的复选状态不同: 项的复选状态可以通过checkState()来获取,如果要改变项的复选状态可以调用setCheckState(Qt.CheckState state)来实施. 示例代码: for row in range(3): for col in range(3): i…