QT 控件布局

古月无华 2010-06-12 04:10:35
如下图所示,请问有没有好的布局方法!!

...全文
383 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
古月无华 2010-06-17
  • 打赏
  • 举报
回复
OK,问题解决,多谢楼上的兄弟!!
lishaman 2010-06-16
  • 打赏
  • 举报
回复
请问你按转变给了QTcreator了吗 如果安装了,那直接用QTcrator 就可以了
dext 2010-06-14
  • 打赏
  • 举报
回复
minimumSize
maximumSize
qter_wd007 2010-06-13
  • 打赏
  • 举报
回复
你想怎样调整按钮大小,让布局控制它通常是不错的。
dext 2010-06-13
  • 打赏
  • 举报
回复
最关键一句

QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
pushButton_5->setSizePolicy(sizePolicy);

空白地方放弹簧

5行 3列 的布局。
dext 2010-06-13
  • 打赏
  • 举报
回复


/********************************************************************************
** Form generated from reading UI file 'untitledbZ1546.ui'
**
** Created: Sat Jun 12 16:32:03 2010
** by: Qt User Interface Compiler version 4.6.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UNTITLEDBZ1546_H
#define UNTITLEDBZ1546_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QGridLayout>
#include <QtGui/QHeaderView>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_Form
{
public:
QGridLayout *gridLayout;
QPushButton *pushButton;
QPushButton *pushButton_4;
QPushButton *pushButton_7;
QSpacerItem *verticalSpacer;
QSpacerItem *verticalSpacer_3;
QPushButton *pushButton_2;
QPushButton *pushButton_8;
QSpacerItem *verticalSpacer_2;
QSpacerItem *verticalSpacer_4;
QPushButton *pushButton_3;
QPushButton *pushButton_6;
QPushButton *pushButton_9;
QPushButton *pushButton_5;

void setupUi(QWidget *Form)
{
if (Form->objectName().isEmpty())
Form->setObjectName(QString::fromUtf8("Form"));
Form->resize(430, 218);
gridLayout = new QGridLayout(Form);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
pushButton = new QPushButton(Form);
pushButton->setObjectName(QString::fromUtf8("pushButton"));

gridLayout->addWidget(pushButton, 0, 0, 1, 1);

pushButton_4 = new QPushButton(Form);
pushButton_4->setObjectName(QString::fromUtf8("pushButton_4"));

gridLayout->addWidget(pushButton_4, 0, 1, 1, 1);

pushButton_7 = new QPushButton(Form);
pushButton_7->setObjectName(QString::fromUtf8("pushButton_7"));

gridLayout->addWidget(pushButton_7, 0, 2, 1, 1);

verticalSpacer = new QSpacerItem(130, 45, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout->addItem(verticalSpacer, 1, 0, 1, 1);

verticalSpacer_3 = new QSpacerItem(130, 45, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout->addItem(verticalSpacer_3, 1, 2, 1, 1);

pushButton_2 = new QPushButton(Form);
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));

gridLayout->addWidget(pushButton_2, 2, 0, 1, 1);

pushButton_8 = new QPushButton(Form);
pushButton_8->setObjectName(QString::fromUtf8("pushButton_8"));

gridLayout->addWidget(pushButton_8, 2, 2, 1, 1);

verticalSpacer_2 = new QSpacerItem(130, 44, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout->addItem(verticalSpacer_2, 3, 0, 1, 1);

verticalSpacer_4 = new QSpacerItem(130, 44, QSizePolicy::Minimum, QSizePolicy::Expanding);

gridLayout->addItem(verticalSpacer_4, 3, 2, 1, 1);

pushButton_3 = new QPushButton(Form);
pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));

gridLayout->addWidget(pushButton_3, 4, 0, 1, 1);

pushButton_6 = new QPushButton(Form);
pushButton_6->setObjectName(QString::fromUtf8("pushButton_6"));

gridLayout->addWidget(pushButton_6, 4, 1, 1, 1);

pushButton_9 = new QPushButton(Form);
pushButton_9->setObjectName(QString::fromUtf8("pushButton_9"));

gridLayout->addWidget(pushButton_9, 4, 2, 1, 1);

pushButton_5 = new QPushButton(Form);
pushButton_5->setObjectName(QString::fromUtf8("pushButton_5"));
QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(pushButton_5->sizePolicy().hasHeightForWidth());
pushButton_5->setSizePolicy(sizePolicy);

gridLayout->addWidget(pushButton_5, 1, 1, 3, 1);


retranslateUi(Form);

QMetaObject::connectSlotsByName(Form);
} // setupUi

void retranslateUi(QWidget *Form)
{
Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
pushButton->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_4->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_7->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_2->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_8->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_3->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_6->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_9->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
pushButton_5->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
} // retranslateUi

};

namespace Ui {
class Form: public Ui_Form {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UNTITLEDBZ1546_H


古月无华 2010-06-13
  • 打赏
  • 举报
回复
因为是跨平台,手机平台大小不一,楼上的方法不能用的
mid__night 2010-06-13
  • 打赏
  • 举报
回复
或者直接setGeometry().
mid__night 2010-06-13
  • 打赏
  • 举报
回复
不是布局都要用layout,走自己的风格,用setFixedSize(),然后move() & show().
古月无华 2010-06-13
  • 打赏
  • 举报
回复

按照楼上的帮助可以解决问题,请问怎么调整按钮的大小?
lxkjlzz 2010-06-12
  • 打赏
  • 举报
回复
用个组框分三类 业务、信息、登退,
古月无华 2010-06-12
  • 打赏
  • 举报
回复
QGridLayout *pLayout = new QGridLayout;
pLayout->addWidget(ui.toolButton_QueryReg,0,0,1,1);
pLayout->addWidget(ui.toolButton_MenuHold,0,1,1,1);
pLayout->addWidget(ui.toolButton_QueryPhone,0,2,1,1);
pLayout->addWidget(ui.toolButton_SetTurn,2,0,1,1);
pLayout->addWidget(ui.toolButton_RegLogin,1,1,3,1);
pLayout->addWidget(ui.toolButton_InfoServer,2,2,1,1);
pLayout->addWidget(ui.toolButton_ChangePhone,4,0,1,1);
pLayout->addWidget(ui.toolButton_UnReg,4,1,1,1);
pLayout->addWidget(ui.toolButton_exit,4,2,1,1);
setLayout(pLayout);

运行起来,九个按钮一样大小,没达到效果
vanchristin 2010-06-12
  • 打赏
  • 举报
回复
用QGridLayout吧,5行,3列
登录按钮占三行
古月无华 2010-06-12
  • 打赏
  • 举报
回复
npuhuxl 2010-06-12
  • 打赏
  • 举报
回复
看不到图片

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧