- 博客(12)
- 资源 (7)
- 收藏
- 关注
翻译 6-4 滚动区域(Scrolling Areas)
英汉对照:viewport(视图)QScrollArea类提供了一个可以滚动的可视窗口和两个滚动条。如果我们想给一个控件加上一个滚动条,从QScrollArea继承会比设计我们自己的QScrollBar类实现滚动函数更简单。Figure 6.11. QScrollAreas constituent widgets 调用QScrollArea的setWidget()函
2007-04-26 22:18:00 5565
翻译 6-3 分隔控件(Splitters)
中英文对照Splitter handles(分隔条) 一个QSplitter控件中可以包含其他控件,这些控件被一个分隔条隔开,托拽这个分隔条,里面的控件的大小可以改变。QSplitter控件经常做为布局管理器使用,给用户提供更多的界面控制。QSplitter控件中的子控件总是按顺序自动并肩排列(或者上下排列)。相邻的控件之间有一个分隔条。下面是创建图6.7的窗体的代码:int main
2007-04-26 20:44:00 11823 2
翻译 6-2 分组布局(Stacked Layouts)
QStackedLayout类把子控件进行分组或者分页,一次只显示一组或者一页,隐藏其他组或者页上的控件。QStackedLayout本身并不可见,对换页也不提供本质的支持。图6.5中的建头和黑灰色的框架是Qt Designer提供为了方便设计。为了方便起见,Qt还提供了类QStackedWidget,这个类的布局管理器为QStackedLayout。Figure 6.5. QStack
2007-04-26 20:38:00 9773 1
翻译 6-1 排列窗体上的控件(Laying Out Widgets on a Form)
中英文对照:form(窗体),layout(布局或者排列,意思是进行窗体上控件的排列的过程,如大小位置等)absolute positioning(绝对位置定位),manual layout(手工布局), layout managers(布局管理器)Qt中有三种方式对窗体上的控件进行布局管理:绝对位置定位(absolute positioning),手工布局(manual layou
2007-04-25 21:54:00 10535 1
翻译 第六章序-布局管理(Chapter 6. Layout Management)
窗体上的所有的控件必须有一个合适的尺寸和位置。Qt提供了一些类负责排列窗体上的控件,主要有:QHBoxLayout,QVBoxLayout,QGridLayout,QStackLayout。(有时在译文中我会把这些类叫做布局管理类)这些类简单易用,无论在代码中还是用Qt Designer开发程序都能用到。 使用这些Qt布局管理类的另一个原因是,在程序改变字体,语言或者在不同的平台上运
2007-04-24 22:16:00 3483
翻译 5-4 双缓冲技术(Double Buffering)(5、类PlotSettings实现)
下面是PlotSettings的实现:PlotSettings::PlotSettings(){ minX = 0.0; maxX = 10.0; numXTicks = 5; minY = 0.0; maxY = 10.0; numYTicks = 5;}在构造函数中,把两个坐标轴的初始化为从0到10,分为5个刻度
2007-04-24 22:13:00 2897
翻译 5-4 双缓冲技术(Double Buffering)(4、私有函数的实现)
以下是私有函数的实现: void Plotter::updateRubberBandRegion(){ QRect rect = rubberBandRect.normalized(); update(rect.left(), rect.top(), rect.width(), 1); update(rect.left(), rect.top(), 1
2007-04-24 22:11:00 3087
翻译 5-4 双缓冲技术(Double Buffering)(3、事件处理函数)
以下是Plotter控件的事件处理函数部分 void Plotter::paintEvent(QPaintEvent * /* event */){ QStylePainter painter(this); painter.drawPixmap(0, 0, pixmap); if (rubberBandIsShown) { paint
2007-04-24 22:06:00 3670
翻译 5-4 双缓冲技术(Double Buffering)(2、公有函数实现)
#include #include using namespace std;#include "plotter.h"以上代码为文件的开头,在这里把std的名空间加入到当前的全局命名空间。这样在使用里的函数时,就不用前缀std::了,如可以直接使用函数floor(),而不用写成std::floor()。 Plotter::Plotter(QWidget *paren
2007-04-24 21:59:00 4284
翻译 5-4 双缓冲技术(Double Buffering)(1、简介和源代码部分)
这一节实在是有些长,翻译完后统计了一下,快到2w字了。考虑到阅读的方便和网络的速度,打算把这节分为5个部分,第一部分为双缓冲技术的一个简介和所有的代码,如果能够看懂代码,不用看译文也就可以了。第二部分为Plotter控件的公有函数的实现,第三部分为Plotter的事件处理函数的实现,第四部分为Plotter控件的私有函数实现,第五部分为辅助类PlotSettings的实现。这里给出一些常
2007-04-24 21:52:00 5375 1
翻译 5-3 把自定义控件集成到Qt Designer中(Integrating Custom Widgets with Qt Designer)
要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在。有两种方法可以把新自定义控件的信息通知给Qt Designer:“升级”法和插件法。升级法最为简便快捷。顾名思义,升级法就是把Qt自有的控件进行升级改造一番。找一个Qt自有的控件,如果它和我们新加的自定义控件有着相似的API,那么只要在Qt Designer的对话框里面完成一些新控
2007-04-10 10:51:00 5054 1
翻译 5-2 从QWidget继承新类(Subclassing QWidget)
许多Qt的控件或者象HexSpinBox这些自定义控件都是现有的控件的一个组合。由Qt控件组合而成的用户控件可以用Qt Designer实现:1. 用模板“Widget”新建一个控件框架2. 在框架中加入需要的控件,并对控件进行布局3. 进行信号和槽连接4. 如果还需要更多的信号和槽,可以在继承QWidget和u
2007-04-06 22:19:00 11782
google test 1.8 release
2019-03-07
用C++实现SHA-2算法家族
2017-08-08
C++ GUI Programming with Qt 4, Second Edition
2017-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人