UI界面-绝对布局

绝对布局用AbsoluteLayout来表示,在Android中是不提供任何布局管理器的,使用AbsoluteLayout时,组件的位置是由开发人员自己通过指定具体的X坐标、Y坐标来控制的。

    直接指定组件的x、y坐标
          android:layout_x="144dp"
          android:layout_y="154dp"
(使用AbsoluteLayout不是个好思路,因为Android手机存在屏幕大小多样性,使用AbsoluteLayout不能做到屏幕适配,对开发会造成很大的困扰)


Demo演示:


布局代码如下:


### Qt UI 界面布局优化方法与技巧 #### 使用布局管理器提高灵活性 为了使界面更加灵活并能自适应不同大小的窗口,推荐使用Qt内置的布局管理器而不是绝对定位方式。布局管理器可以自动调整子部件的位置和尺寸,从而确保界面在各种情况下都能保持良好的外观[^2]。 ```cpp // 设置垂直布局的例子 QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(button1); layout->addWidget(button2); window->setLayout(layout); ``` #### 利用容器类增强视觉效果 对于希望给特定区域增加装饰性的背景或边框的情况,可以在顶层`QWidget`内嵌入一个`QFrame`作为容器来承载其他控件,并在此基础上应用样式表设置背景图像或其他属性[^3]。 ```xml <!-- .ui文件中的片段 --> <widget class="QFrame" name="frame"> <property name="styleSheet"> <string notr="true">background-image: url(:/images/background.png);</string> </property> </widget> ``` #### 组合多种布局策略构建复杂结构 当面对较为复杂的UI需求时,可以通过组合不同的布局类型(如网格布局、分割条等),以及适当运用分组盒(`QGroupBox`)等方式来进行层次化的组织安排。这不仅有助于提升用户体验,还能简化后续维护工作量[^4]。 ```cpp // 创建带有水平和垂直分裂器的复合布局 QSplitter *splitterV = new QSplitter(Qt::Vertical); splitterV->addWidget(tableWidget); splitterV->addWidget(plainTextEdit); QSplitter *splitterH = new QSplitter(Qt::Horizontal); splitterH->addWidget(groupBox); splitterH->addWidget(splitterV); centralWidget->setLayout(new QHBoxLayout()); centralWidget->layout()->addWidget(splitterH); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值