如何使蜂鸣器音量可调
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使蜂鸣器音量可调相关的知识,希望对你有一定的参考价值。
参考技术A可以用软件调整占空比来控制音量
串电阻减小音量,提高供电电压加大音量.
用一个三极管放大电路就可以解决,但有要提供电源的问题。电路图这里画不了呀
也可以用随身听有源音箱替代蜂鸣器
用一个8--32欧姆(越高越好)的小喇叭替代蜂鸣器,声音会大些、好听些,而且最简单。
如何使 Qt 小部件可调整大小?
【中文标题】如何使 Qt 小部件可调整大小?【英文标题】:How to make Qt widgets resizeable? 【发布时间】:2014-10-11 08:14:20 【问题描述】:我想创建一个应用程序,它包含一个垂直布局的QLineEdit
和两个QTableView
小部件。
示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>401</width>
<height>301</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="QTableView" name="tableView_2"/>
</item>
<item>
<widget class="QTableView" name="tableView"/>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections>
<connection>
<sender>lineEdit</sender>
<signal>returnPressed()</signal>
<receiver>Dialog</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>200</x>
<y>14</y>
</hint>
<hint type="destinationlabel">
<x>199</x>
<y>149</y>
</hint>
</hints>
</connection>
</connections>
</ui>
但是这些QTableView
小部件不可调整大小。我在Qt
中没有找到任何属性。
那么我怎样才能使这些QTableView
小部件可调整大小或自动扩展和收缩?
意味着如果我减小第一个 QTableView
小部件的大小,那么第二个 QTableView
小部件的大小会自动增加,这意味着如果我在运行时更改垂直布局内任何小部件的大小,每个小部件都应该自动扩展或收缩。
示例代码是在Qt4 Designer
上设计的Ubuntu 14.04
。
【问题讨论】:
@Chernobyl 我想用鼠标调整小部件的大小 【参考方案1】:打破当前布局,选中两个小部件,点击Layout Vertically in Splitter
,最后选择窗体,点击layout vertically
。
【讨论】:
在拆分器中垂直布局? @Patrick 对不起,但我不知道 python。无论如何,Zlatomir 的解决方案也很好。为他 +1。 @Zlatomir 如前所述,但在 QTableView 小部件边框的预览中未显示任何调整大小的符号。 @Zlatomir 我想要一些类似于 QDialog 的 sizeGripEnabled 属性的小部件。 在这种情况下,我认为您需要从 QSplitter 继承并按照您想要的方式绘制句柄,或者使用样式表来自定义拆分器(看起来您可以将图像放在那里): qt-project.org/doc/qt-4.8/…【参考方案2】:这是因为您的QDialog
上没有布局。您所做的是在对话框顶部拖动垂直布局,现在对话框包含位于absolute
的布局并且未链接到对话框。您要做的是将所有小部件从QSplitter
顶部的垂直布局中移动,右键单击QDialog
并在Lay out
上下文菜单条目中选择Lay Out Vertically
,或者单击@987654329 @ 并按 Ctrl + 2
。结果应该如下:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>405</width>
<height>305</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QLineEdit" name="lineEdit"/>
<widget class="QTableView" name="tableView_2"/>
<widget class="QTableView" name="tableView"/>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
我建议阅读Qt Layout Management Documentation 以了解有关此主题的更多信息。
【讨论】:
@luliu 我试过你的代码,当鼠标放在它们的边框上时,它也没有提供调整小部件大小的选项。 @Patrick 所以你想通过拖动小部件之间的区域来更改每个小部件的高度? @luilu 是的,您的代码有效。但是在一个新文件中,我无法在 QT 中选择拆分器。以上是关于如何使蜂鸣器音量可调的主要内容,如果未能解决你的问题,请参考以下文章