news 2026/10/15 9:59:31

Razavi习题解答:从手算到SPICE仿真,培养模拟IC设计直觉

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Razavi习题解答:从手算到SPICE仿真,培养模拟IC设计直觉

简介:《模拟CMOS集成电路设计》(Razavi 著)配套习题解答 PDF,面向集成电路专业学生与模拟IC设计入门者,用于对照教材逐章刷题、检验概念理解,并应对新旧版本题号与公式引用变化带来的查阅困难。包内仅含 1 个 PDF 文件,大小约 12.95MB,目前已有 4004 人学习/下载。解答覆盖第3章至第8章核心习题,包含详细推导、图形与公式,并针对新版教材整理了各章题目新旧编号对照表及“Fig.”、“eq.”等引用变更提示,例如第4章 4.18 题与 preview edition 4.5 题对应。这些修正说明能够帮助读者在采用新版教材时快速定位原题解答,减少因章节重排导致的翻找成本,适合配合 Razavi 教材自学或备考,系统掌握 MOS 器件模型、单级放大器、差动对与频率响应等模拟集成电路设计关键知识点。

1. 为什么“Razavi习题解答”值得当设计资料而不是作业答案

很多人在刷《模拟CMOS集成电路设计》的课后题时,习惯把Razavi习题解答当成“对答案”的终点:手算结果和书后答案一致就翻篇,不一致就怀疑自己算错,重新划掉再来。我见过不少朋友卡在这个循环里——手算和仿真对不上、偏置点一变就懵、翻来覆去折腾三五遍还找不到问题出在哪。这篇笔记想讲清楚一件事:Razavi习题解答真正值钱的地方不是那串数字,而是做每道题时被迫建立起来的小信号直觉、极点判断和噪声意识,这些能力会原样迁移到差分放大器、基准源、LDO这些真实设计场景里。适合动手做模拟方向的学生、刚入职做模拟IP的工程师,以及面试前需要短时间把手算能力补回来的人。

2. 做题前先立柱:把模拟CMOS的核心“题眼”在自己笔记里复现

拿到任何一套Razavi习题,先别急着翻页做题。我习惯先把“题眼”列在笔记本第一页——所谓题眼,就是每道题真正要考验的判断点。Razavi的题目看似覆盖很广,但拆到底,翻来覆去就是几个核心模型和拓扑:小信号模型、单级放大器、差分对、电流镜、频率响应、噪声。把这些立柱提前立好,每一道题都能对号入座,后面解题会快很多,也不容易被具体数值带偏。

2.1 小信号模型是唯一主线:六个参数表与手算脚本

Razavi教材的几乎所有习题,最后都会落到小信号等效电路上。无论是求增益、求输入输出阻抗、算带宽,还是算噪声,第一步都是把MOS管替换成小信号模型。我一般会在笔记本上先写一张速查表,把最常用的六个参数及其一阶估算公式固定下来。

参数一阶估算公式直觉提醒
gmgm ≈ 2·ID / VOV电流越大、过驱动越小,跨导越高
roro ≈ 1 / (λ·ID)电流越大,输出电阻越小
gmbgmb ≈ η·gm,η 约 0.1~0.3衬底没接源端时不能忽略
Cgs≈ (2/3)·W·L·Cox + 交叠电容与面积成正比
Cgd主要是交叠电容尺寸小但会在共源级里被密勒放大
Cdb漏衬结电容随电压变化,高频才考虑

这里有一份我常用的手算速算脚本,用 Python 跑一遍,几秒钟就能得到 gm、ro、gmb 三个核心值的估算,省去反复按计算器的功夫:

# MOSFET 小信号参数速算:用 ID 和 VOV 估算 gm / ro / gmb id = 50e-6 # 漏电流,单位 A vov = 0.15 # 过驱动电压,单位 V(VGS - VTH) eta = 0.2 # 体效应系数,示意值 0.1~0.3,实际取决于工艺 lambda_n = 0.08 # 沟道长度调制系数,单位 1/V,示意值,需按模型文件修正 gm = 2 * id / vov ro = 1 / (lambda_n * id) gmb = eta * gm print(f"gm = {gm*1e3:.2f} mA/V") print(f"ro = {ro*1e-3:.2f} kOhm") print(f"gmb = {gmb*1e3:.2f} mA/V")

这段脚本的作用是把“代数计算错误”和“概念错误”分开。如果你手算的增益和仿真对不上,先用脚本核对基本参数,再检查小信号等效电路图,而不是直接怀疑仿真器是玄学。参数里最容易踩坑的是 lambda 和 eta:它们在不同工艺节点下差异很大,手算阶段用示意值没问题,但一旦进入实际项目,必须从模型文件里读真实值,否则误差会直接传导到最终增益结果里。我一般会先在 .op 仿真里读出实际 gm 和 ro,再反推回来调整手算假设,这样两边才能对齐。

2.2 五类核心题型:增益、极点、噪声、反馈、失配

把 Razavi 课后题粗粗归类,大部分题目逃不出五类。做题前先判断它属于哪一类,决定用哪组公式,这比埋头推导更能节省时间。

题型类别常考问题核心题眼
单级放大器增益、输入/输出阻抗、输出摆幅从漏端看进去的等效电阻
差分对差模增益、共模增益、失配影响对称性 + 尾电流约束
电流镜复制精度、输出阻抗、cascode 结构阻抗提升的级联逻辑
频率响应主极点、带宽、密勒效应极点的位置与电容倍乘
噪声输入参考噪声、噪声与功耗权衡把噪声折算到输入端再比较

一道题常常同时考两类内容,比如“共源级的带宽和噪声”,我会先把它拆成频率响应和噪声两个子问题,分别用不同的公式组处理,最后再合并。判断题型的关键词也很直白:题目里出现“带宽”“-3dB”就走极点路线;出现“等效输入噪声”就走噪声折算路线;出现“共模抑制比”就走对称性分析路线。这样分类还有一个好处——面试时被追问某道题,你能第一时间说清自己用的是哪条分析路径,而不是现场硬推。

2.3 做题顺序模板:直流→小信号→方程→验证

Razavi 的答案习惯用 gm、ro、CL 的组合表达,而不是直接给一个数字。这背后是有道理的:表达式能看出趋势,数字只能看出结果。我总结的解题顺序模板如下,基本覆盖 80% 的课后题:

  1. 先找直流通路,确认所有管子都工作在饱和区。手算阶段默认 VOV > 0,不碰亚阈值区。
  2. 画小信号等效图。栅极挂 Cgs 和 Cgd,漏极挂 ro 和 Cdb,源极到地看情况挂电阻。
  3. 列 KCL/KVL 方程。先写符号表达式,再代入数值,避免一开始就被数字带偏。
  4. 化简方程。频率不高时删掉不起作用的电容项,但要保留可能成为主极点的项。
  5. 验证量纲和极限。把 RD 推向无穷大,增益是否趋近 gm·ro;把 CL 推向无穷大,带宽是否下降,这两个极限检查能拦住绝大多数粗心错误。

这个顺序模板也是后面几章所有例题的地基。遇到“算不出来”的情况,我不会急着翻答案,而是回头检查第二步的小信号等效图有没有画错——比如 PMOS 的源端在交流小信号下接的是地(VDD 对交流等效为地),很多人漏了这一点,导致整个方程从根上就错了。

3. 把一道共源级题解成可复现作业:四步模板与 SPICE 验证

理论框架立住之后,接下来做一道典型题完整走一遍流程。这里选共源级放大器,因为它是单级放大器章节的绝对核心,也是后面差分对、cascode 结构的基础。这道题的完整解法可以用四步模板套用,每一步都设置检查点,保证手算结果经得起仿真复验。

3.1 从电路图到答案的四步拆解,每一步都列检查点

构造一道 Razavi 课后题最常见的变形:NMOS 共源级,漏极接一个 PMOS 电流源负载,求小信号增益和输出阻抗。电路结构是 M1 为 NMOS 输入管,M2 为 PMOS 电流源负载,VDD=1.8V,ID=50uA,M1 的 VOV=0.15V,λ 取 0.08V⁻¹。

第一步,直流工作点。确认 M1 和 M2 都在饱和区,ID=50uA。根据 2.1 节的速算脚本,gm=0.67mA/V,ro1=ro2=250kΩ。这一步的检查点是:VOV 是否为正,ID 是否符合预期,M2 的栅极电压是否让 M2 处在饱和区。

第二步,小信号等效图。把 M1 替换为 gm1·vgs 电流源并联 ro1,M2 替换为 ro2 对交流地。注意 PMOS 的源端接 VDD,但 VDD 在交流小信号下是地,所以 ro2 一端接 vout,另一端直接接地。检查点:确认所有 MOS 管漏端到地的等效电阻都画进去了,没有漏掉 M2 的 ro。

第三步,列方程。在 vout 节点列 KCL:gm1·vgs + vout / (ro1 ∥ ro2) = 0,其中 vgs = vin。整理得 Av = -gm1·(ro1 ∥ ro2)。代入数值:ro1 ∥ ro2 = 125kΩ,Av = -0.67m × 125k ≈ -83,即大约 38.4dB。检查点:增益表达式是否为负,量纲是否为 V/V。

第四步,极限验证。把 ro2 推向无穷大,Av 趋近 -gm1·ro1;把负载 CL 加大,带宽下降。这两个趋势与直觉一致,说明方程没问题。这四步走完,手算答案就具备可复现性了。

3.2 手算结果用 SPICE 复验:最小 testbench 与每行参数说明

手算只是第一步,真正让答案可信的是仿真复验。下面给出一份最小可跑的 SPICE 网表,用于验证上面的手算结果:

* 共源级增益验证:NMOS 输入管 + PMOS 电流源负载 .include model_file * 替换为你自己的 MOS 模型文件 .option post=2 VDD vdd 0 DC 1.8 VIN vin 0 DC 0.7 AC 1 VB vb 0 DC 0.9 * M1: 输入管 NMOS,宽长比 5u/0.18u M1 vout vin 0 0 nch W=5u L=0.18u * M2: 负载管 PMOS,栅压由 VB 提供,作为电流源 M2 vout vb vdd vdd pch W=10u L=0.18u * 输出负载电容 50fF,模拟后级电路的输入电容 CL vout 0 50f .op .ac dec 100 1k 10G .end

逐行说明:VIN 的 AC 值设为 1,这样 vout 节点的 AC 幅值直接就是电压增益,省去后处理换算。VB 的 0.9V 是初值,仿真后要读 .op 结果确认 M2 工作在饱和区,如果不在就调 VB 或 M2 的宽长比。CL 取 50fF 是为了让主极点落在几十 MHz 量级,方便与手算对比。.op 语句用于查看直流工作点,.ac 语句从 1kHz 扫到 10GHz,覆盖从低频到远高于主极点的范围。

仿真跑完后,第一步看 .op 里 M1 和 M2 的 region 参数,确认都是饱和区;第二步读中频增益,对比是否接近 38dB;第三步找 -3dB 点,对比手算主极点。如果中频增益对不上,多半是偏置电流不是 50uA,回到直流工作点查;如果带宽差很多,通常是密勒电容的估计有问题,这个在第五章避坑手册里详细展开。

3.3 波形检查点:增益、带宽和摆幅怎么判读

仿真波形不是只扫一眼就完事。我会按三个检查点逐个确认。

第一个检查点:中频增益平台。AC 曲线上 1kHz 到主极点之前的区域应该是平坦的,读它的幅度值,对比手算的 -83 或 38.4dB。如果平台有倾斜,说明耦合电容或偏置电阻引入了额外低频极点,要先排查直流网络。

第二个检查点:-3dB 主极点频率。从平台下降 3dB 的位置就是主极点频率,由输出节点阻抗和负载电容决定,f_p = 1/(2π·Rout·CL)。代入手算值约 25MHz,如果仿真差一两倍内可以接受,超过十倍就要回头查模型参数或寄生电容。

第三个检查点:高频滚降斜率。理想单极点系统是 -20dB/dec,如果看到 -40dB/dec,说明还有个次极点存在,通常是密勒效应把输入端的 Cgd 放大后形成的极点。这时候手算只算输出极点是不够的,要把输入极点也写出来,比较哪个更低,谁低谁是主极点。

这三个检查点做完,一道题的完整验证闭环就闭合了。

4. 从对答案到会设计:把 Razavi 习题结论做成设计查表

刷题刷到一定数量后,就会发现 Razavi 课后题的结论其实是有限个“设计公式”的重复组合。把它们整理成查表,做题速度和工程应用能力会同时提升。这一章把常见结构的设计公式、gm/ID 方法论和脚本结合起来,让习题结论真正变成能指导设计工作的工具。

4.1 标准结构的设计公式查表

我一般会把下面这张表贴在笔记本的扉页,做题和设计时随手翻。它的作用不是替代推导,而是让你一眼看出某个结构的增益、阻抗和主极点大概由什么决定。

结构小信号增益输入阻抗输出阻抗主极点位置
共源级(电阻负载)-gm·(RD ∥ ro)1/gm(低频时很大)RD ∥ ro输出节点
共源级(电流源负载)-gm·(ro1 ∥ ro2)很大ro1 ∥ ro2输出节点
共栅级+gm·(RD ∥ ro)≈ 1/gmRD ∥ ro输出节点
源跟随器≈ gm/(gm+gmb+1/RL)很大≈ 1/gm输出节点
差分对gm·(RD ∥ ro)很大RD ∥ ro输出节点

查表的关键在输入输出端口的判断:信号从哪里进,就从哪里看输入阻抗;信号从哪里出,就从哪里看输出阻抗。源跟随器的输入阻抗很大但输出阻抗很小,所以它适合做缓冲器;共栅级输入阻抗约 1/gm,适合做电流输入的前端。这些结论在习题里可能只是某一问,但在实际设计里决定了结构选型。

4.2 用 gm/ID 方法论重看习题,手算与仿真的差距就小了

直接套公式做题有个通病:题目换个工艺节点、VTH 变了,公式里的参数就失效了。gm/ID 方法把“偏置状态”变成核心设计变量,它不直接依赖 VTH。核心逻辑是:gm/ID 只由 VOV 决定(在平方率模型下 gm/ID ≈ 2/VOV),所以给定一个 gm/ID 就等价于给定了偏置点。

用 gm/ID 重看共源级习题时,流程是:先定沟道长度 L,再选期望的 gm/ID 值(强反型约 5~10,弱反型约 15~25),然后算出所需电流 ID = gm / (gm/ID),最后由 ID 反推 W/L。这个方法的好处是,从 gm 需求出发定尺寸,而不是先定尺寸再碰运气看 gm 对不对。手算习题时顺手记录 gm/ID 值,还有一个额外的好处:答案里多了一个“偏置强度”的维度,有人追问“你这管子偏得重不重”时,你直接报 gm/ID 就能说清楚。

4.3 一个 Python 脚本,把习题结论画成设计图表

数值公式只能看单点,图表才能看趋势。这里给个脚本,把 gm/ID、W/L 和 VOV 的关系画出来,直接作为习题到设计之间的“翻译层”:

# 用 gm/ID 方法把共源级习题延伸成设计图表 import numpy as np import matplotlib.pyplot as plt # 扫过驱动电压,观察 gm/id 与 W/L 的变化趋势 vov = np.linspace(0.05, 0.4, 50) # 过驱动电压范围:0.05V ~ 0.4V gm_id = 2.0 / vov # 平方率模型近似:gm/id = 2/VOV # 给定目标电流后,所需的 W/L id_target = 50e-6 # 目标漏电流 50uA k_prime = 200e-6 # 工艺跨导参数示意值,A/V^2 wl = 2 * id_target / (k_prime * vov**2) # 画双纵轴图:左边 gm/id,右边 W/L fig, ax1 = plt.subplots() ax1.plot(vov, gm_id, 'b-', label='gm/id (1/V)') ax1.set_xlabel('VOV (V)') ax1.set_ylabel('gm/id', color='b') ax2 = ax1.twinx() ax2.plot(vov, wl, 'r--', label='W/L @ ID=50uA') ax2.set_ylabel('W/L', color='r') plt.show()

这个脚本的核心价值在于趋势判断:VOV 越小,gm/ID 越大(管子越弱反型),但所需 W/L 急剧增大;VOV 越大,gm/ID 越小(管子越强反型),W/L 变小但增益潜力也变小。看这张图就能回答“尾电流减半会怎样”“宽长比加倍会怎样”这类面试连环追问——尾电流减半时 ID 减半,W/L 减半,gm 和 ro 同时变化,最终增益的改变量要看 gm 的下降和 ro 的上升哪个更明显。这个“趋势思维”是习题解答通向设计能力的关键一步。

5. 刷题避坑手册:手算与仿真对不上的 5 个典型翻车点

刷 Razavi 习题,尤其是配合仿真做验证时,翻车是常态。下面这 5 个问题是我自己做题带验证时常年踩坑、也看周围同学反复踩的典型,按“现象→原因→解决”的格式写清楚,希望你能绕开这些弯路。

5.1 现象 1:手算增益比仿真大了一倍

现象是手算 Av=-83,AC 仿真读出来却只有 -40 左右,差不多整整差一倍。多数时候原因只有一个:手算时把负载管 M2 的 ro 漏掉了,只算了 -gm·ro1,而实际上输出端看进去的等效电阻是 ro1∥ro2,并联后接近减半。还有一种可能是仿真里 M2 的 L 设得比手算假设小,导致 ro2 只有手算的一半。

解决方法是先把表达式写成完整版 Av = -gm1·(ro1∥ro2),再从 .op 结果里读出 gm1、ro1、ro2 三个真实值,逐项代入对比。如果 OP 值和手算假设对不上,问题出在直流偏置点;如果三个值都对但增益仍不对,再查小信号等效图是不是漏了某个电阻到地。

5.2 现象 2:带宽和手算差一个数量级

现象是手算主极点 25MHz,仿真 -3dB 只有 3MHz,差了快十倍。原因通常不是手算错了,而是只算了输出节点的极点,忘了输入端的密勒效应。共源级的 Cgd 会被放大为 (1+Av)·Cgd,这个等效电容并联在输入端,和信号源内阻 Rs 构成一个低通极点。当 Av 很大时,这个极点可能比输出极点更低,成为真正的主极点。

解决方法是把输入节点所有电容都列出来:Cgs + (1+Av)·Cgd,再乘以信号源内阻 Rs 计算极点频率。如果题目给的信号源是理想电压源(Rs=0),密勒极点不存在,但实际仿真里测试源通常带一个 50Ω 或 1kΩ 的内阻,这个细节决定了带宽是几十 MHz 还是几 MHz。

5.3 现象 3:直流工作点不在饱和区

现象是手算假设 ID=50uA,仿真 .op 读出来只有 2uA,增益自然全错。原因是偏置电压 VB 设置不合理,M2 可能工作在线性区,或者 M1 的栅压不够高导致沟道没夹断。这类问题在 PMOS 电流源负载的共源级里特别常见,因为 PMOS 的源端接 VDD,栅压要离 VDD 足够远才能提供预期电流。

解决方法是先跑 .op 看每个 MOS 管的 region 标识,把不在饱和区的管先揪出来。然后采用“电流源先给电流、再反推偏置电压”的思路:先假定 M2 要提供 50uA,算所需 VGS,再设 VB = VDD - |VGS|。这样偏置是自上而下设计的,而不是靠猜一个 VB 碰运气。

5.4 现象 4:差分对仿真和手算“两边不对称”

现象是差模增益与手算大概一致,但输出共模电压不对称,或者两边差分波形斜率不一样。原因大多是衬底连接问题:NMOS 差分对的 bulk 必须接源端公共点,如果 B 端误接到地,体效应会产生 gmb,额外引入一条从源端到漏端的电流路径,破坏对称性。在版图之前的手算和仿真阶段,这个细节特别容易忽略。

解决方法是回到 SPICE 网表,检查 M1/M2 的 B 端连接,把 buld 和 source 接在一起。如果电路结构要求 bulk 不能接源端,那就要把小信号等效图里的 gmb 电流源画出来,明确它在半边电路里如何影响增益,再决定是否忽略。

5.5 现象 5:答案写成了数字而不是公式,换一个参数就推倒重来

这个现象最隐蔽,但危害最大。表现为:W/L 一改,手算要重新来一遍,还不知道对整个电路有什么影响。原因是做题时只代了数值,没有保留符号表达式。Razavi 的习题答案往往用 gm、ro、CL 表达是有深意的——表达式才能看出参数之间的制约关系。

解决方法是每道题答案最后强制写一行“如果…则…”的趋势分析,比如:W/L 加倍 → gm 增大、ro 减小、VOV 降低 → 增益先升后降;尾电流减半 → gm 减半、ro 加倍 → 增益变化取决于两者谁更敏感。把这些趋势句写进答案库,习题就从“计算熟练度训练”变成了“设计直觉训练”。

6. 把一套习题做三遍,沉淀自己的模拟设计答案库

如果你已经按前面的方法刷到一定量,最后一步是把每一道重点习题做三遍,把它沉淀成属于自己的答案库。第一遍只用纸笔手算,不允许翻书和仿真,目的是检验小信号模型和公式是否真的长在了手里。第二遍用 SPICE 复验,把仿真值和手算值并排记录,偏差超过 20% 的题目要标记出来,回头查是模型参数假设问题还是公式漏项。第三遍隔一周不看原题,重推一遍,把结论压缩成一页卡片。

卡片格式可以固定为六行:结构名称、增益表达式、输入阻抗、输出阻抗、主极点位置、边界条件(何时公式失效)。每张卡片最后还要留一行“参数变化趋势”,回答“尾电流减半会怎样”这类追问。现在翻旧题时,我的习惯是先看卡片能不能回答这些追问,能答上才算真正消化,答不上就回去重推,不再做一遍就丢。

这套三遍法的收益在面试和项目评审里体现得最明显。我吃过一次亏:某次面试被追问“你说的增益,如果尾电流减半会怎样”,我当场从 gm=2ID/VOV 开始推,推导花了三分钟还没给到结论,现场气氛冷得能听见空调声。那次之后我规定所有习题解答的最后一版必须写趋势句,不允许只留数值答案。这比追求标准答案更值钱,因为数值只对一道题有效,趋势能迁移到所有同类结构上。希望你这套三遍法刷下来,Razavi 习题不再是一本题册,而是一本真正属于自己的模拟设计手册。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 9:59:10

HTML转MP4实战:hyperframes帧序列渲染与FFmpeg编码指南

1. 从 hyperframes 说起:一个被低估的 HTML 转 MP4 思路第一次看到 hyperframes 这个词,是在翻一个前端工具链的讨论帖时。当时有人问:能不能把一段纯 HTML 动画直接导出成 MP4,不装浏览器、不录屏、不依赖云服务?底下…

作者头像 李华
网站建设 2026/10/15 9:59:09

线段树实现二进制数组区间取反与统计

1. 题目背景与核心概念解析这道来自牛客网的编程练习题"区间取反与区间数一"看似简单,却蕴含着典型的区间操作思想。题目要求我们对一个二进制数组进行两种操作:区间取反(0变1,1变0)和区间统计1的个数。这类…

作者头像 李华
网站建设 2026/10/15 9:59:07

E2E_自动驾驶---地区合规性

E2E:End to End,AD:Autonomous Driving,FSD:Full Self-Driving,ODD:Operational Design Domain‌,DMS:Driver Monitoring System‌ 核心前置结论 截至到2026年10月,目前全球没有任何地区批准【L3/L4 级、纯端到端大模型(无显式感知 / 预测 / 规划模块)】可以脱离…

作者头像 李华
网站建设 2026/10/15 9:59:07

UE5.7插件编译失败问题解析与解决方案

1. 问题现象与背景分析最近在升级到Unreal Engine 5.7版本后,不少开发者遇到了插件自动编译失败的问题。典型报错包括"Couldnt compile plugin module"、"Missing precompiled manifest"等错误提示。这个问题尤其容易出现在从旧版本迁移项目或首…

作者头像 李华
网站建设 2026/10/15 9:58:29

深入理解CAS与ABA问题:从无锁编程原理到AtomicStampedReference实战

1. 从一次诡异的并发Bug说起:CAS凭什么成为无锁编程的地基几个月前,我被拉去帮某团队看一个并发问题。场景很朴素:一套配置开关服务,某个开关的值需要满足"当前值是100才更新为50"的精确条件,改动频率也不高…

作者头像 李华
网站建设 2026/10/15 9:57:58

Qt自定义控件:手写滑动选择器的完整实现与避坑指南

简介:基于Qt自定义的滑动选择器是一套面向Qt开发者的自定义控件示例,用于解决系统自带控件无法满足个性化交互需求的问题,适合有基础Qt编程知识、希望提升自定义控件设计能力的开发者。压缩包共8个文件,大小仅9KB,包含…

作者头像 李华