找回密码
 立即注册
收起左侧

一些小控件的用法和一些问题的请教

29
回复
15245
查看
[复制链接]
累计签到:256 天
连续签到:1 天
来源: 2015-4-30 11:00:59 显示全部楼层 |阅读模式
1Qter豆
这个图片里面那个控制器信息的小字和框框是怎么设置的?
确定 取消按钮上面的横线是怎么设置的?
如果我用了QHboLayout放置一个label和一个combobox,combobox不能紧跟label后面 要如何设置他们才比较紧密?

希望有朋友能帮忙解答一下 才开始学习界面 谢谢
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

1.控制器信息是一个QGroupBox控件,上面的文字是title属性 2.横线可以用QLine,或者用图片 3.去设置layout和控件的一些属性就可以了,比space, pading等等 如果用设计器的话,简单又快捷。。。
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 11:01:00 显示全部楼层
本帖最后由 一叶知秋 于 2015-4-30 13:21 编辑

1.控制器信息是一个QGroupBox控件,上面的文字是title属性
2.横线可以用QLine,或者用图片
3.去设置layout和控件的一些属性就可以了,比space, pading等等

如果用设计器的话,简单又快捷。。。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 14:15:31 显示全部楼层
一叶知秋 发表于 2015-4-30 13:19
1.控制器信息是一个QGroupBox控件,上面的文字是title属性
2.横线可以用QLine,或者用图片
3.去设置layout ...

你好 请问设计器 是怎么使用?
那个QLine 我一直没有添加上去 弄不太懂它的用法 本来想添加到Layout里面 结果放不进去 直接放也不知道放哪里
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 14:53:09 显示全部楼层
这个一两句话整不清楚,随便画了一个

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 16:22:34 显示全部楼层
一叶知秋 发表于 2015-4-30 14:53
这个一两句话整不清楚,随便画了一个

哦 但是知道了类 我也用不了 不知道怎么回事 我F1QLine进去 使用方法搞不太懂 要给4个参数?
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 17:00:35 显示全部楼层
一叶知秋 发表于 2015-4-30 14:53
这个一两句话整不清楚,随便画了一个

你知道QTablewidget怎么设置字体居中吗  我找了好久 没有一个详细的方法
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 17:17:48 显示全部楼层
上面那个横线应该是QFrame,我都是直接拖进去的,一直没在意,你不问我还以为是QLine呢,哈哈。。。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 17:18:57 显示全部楼层
一叶知秋 发表于 2015-4-30 17:17
上面那个横线应该是QFrame,我都是直接拖进去的,一直没在意,你不问我还以为是QLine呢,哈哈。。。 ...

...............QFrame是个啥子唉 感觉越学越白痴、、
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 17:20:07 显示全部楼层
你可以用QTableWidgetItem的setTextAlignment,你去看一下文档就知道了
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 17:25:47 显示全部楼层
别泄气啊,The QFrame class is the base class of widgets that can have a frame

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 17:27:40 显示全部楼层
如果你是用纯代码的话,放进布局里面去就好了,这样你就不用去计算它的位置了
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 17:32:25 显示全部楼层
一叶知秋 发表于 2015-4-30 17:25
别泄气啊,The QFrame class is the base class of widgets that can have a frame

哦 懂了 原来这么用的  感谢感谢
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 17:33:26 显示全部楼层
一叶知秋 发表于 2015-4-30 17:27
如果你是用纯代码的话,放进布局里面去就好了,这样你就不用去计算它的位置了 ...

我现在就是在用纯代码写这些  我用水平布局放了一个label和一个combobox  他们之间隔了好远 怎么缩短距离啊?
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-4-30 17:43:20 显示全部楼层
你看水平布局有很多的属性的你可以去调整,还有你也可以单独设置每个控件,比如你去设置label为fixedwidth或者maxwidth等等,等你学了QSS后还可以更方便,做的更美观


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-4-30 17:56:19 显示全部楼层
一叶知秋 发表于 2015-4-30 17:43
你看水平布局有很多的属性的你可以去调整,还有你也可以单独设置每个控件,比如你去设置label为fixedwidth ...

哦 好的 我去试试 30字符~
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-4 10:47:58 显示全部楼层
一叶知秋 发表于 2015-4-30 17:43
你看水平布局有很多的属性的你可以去调整,还有你也可以单独设置每个控件,比如你去设置label为fixedwidth ...

你好 我想问问 我将4个水平布局放到一个垂直布局里面,然后将垂直布局放到一个groupbox里面 再把groupbox放到窗口里面 界面显示控件和groupbox之间距离有点远 我怎么设置可以拉近?
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-5-4 11:26:26 显示全部楼层
你贴个图看看吧。。。
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-4 11:33:57 显示全部楼层
就这个样子
代码有点乱
void XG100_serialPort::m_setLayout()
{
    int i = 0;
    for(i=0; i<5; i++) {
        m_label[i] = new QLabel;
    }
    m_label[2]->setFont(QFont("Microsoft JHengHei", 11));
    m_label[3]->setFont(QFont("Microsoft JHengHei", 10));
    for(i=0; i<3; i++) {
        m_combobox[i] = new QComboBox;
        m_combobox[i]->setFont(QFont("Microsoft JHengHei", 8));
    }
    m_combobox[2]->setEditable(true);
    m_combobox[0]->setMinimumSize(200,30);
    m_combobox[1]->setMinimumSize(10,30);
    m_combobox[2]->setMinimumSize(15,30);

    for(i=0; i<5; i++) {
        m_hboLayout[i] = new QHBoxLayout();

    }

    comAdd = new QSpinBox;
    comAdd->setRange(0, 255);
    comAdd->setValue(1);
    comAdd->setFont(QFont("Microsoft JHengHei", 9));
    comAdd->setMinimumSize(200,30);

    m_label[0]->setText("控制器地址:");
    m_label[1]->setText("    通信协议:");
    m_label[2]->setText("串口名:");
    m_label[3]->setText("波特率:");
    m_label[4] = new QLabel;
    m_label[4]->setFrameShape(QFrame::HLine);
    m_label[4]->setFrameShadow(QFrame::Raised);
    m_label[4]->setMaximumSize(QSize(1000, 1));
    lineEdit = new QLineEdit;
    m_button[0] = new QPushButton("确定");
    m_button[1] = new QPushButton("取消");
    m_button[0]->setMinimumSize(30,28);
    m_button[1]->setMinimumSize(30,28);

    //添加串口选项
    QStringList con;
    con = test->initSpc();
    for(i=0; i<con.size(); i++) {
        this->m_combobox[0]->addItem(con.at(i));
    }
    con.clear();
    con = test->findCom();
    for(i=0;i<con.size();i++) {
        this->m_combobox[1]->addItem(con.at(i));
    }

    //添加波特率选项
    int tmp = test->initBaudRate();
    for(i=0;i<tmp;i++) {
        QString bet;
        bet = QString::number(test->boTe[i]);
        this->m_combobox[2]->addItem(bet);
    }
    this->m_combobox[2]->setCurrentIndex(6);

    //设置右对齐
    m_hboLayout[0]->setAlignment(Qt::AlignRight);
    m_hboLayout[1]->setAlignment(Qt::AlignRight);
    m_hboLayout[2]->setAlignment(Qt::AlignRight);

    m_hboLayout[0]->addWidget(m_label[0]);
    m_hboLayout[0]->addWidget(comAdd);
    m_hboLayout[1]->addWidget(m_label[1]);
    m_hboLayout[1]->addWidget(m_combobox[0]);
    m_hboLayout[2]->addWidget(m_label[2]);
    m_hboLayout[2]->addWidget(m_combobox[1]);
    m_hboLayout[2]->addWidget(m_label[3]);
    m_hboLayout[2]->addWidget(m_combobox[2]);
    m_hboLayout[3]->addWidget(m_label[4]);
    m_hboLayout[4]->addSpacing(20);
    m_hboLayout[4]->addWidget(m_button[0]);
    m_hboLayout[4]->addSpacing(40);
    m_hboLayout[4]->addWidget(m_button[1]);
    m_hboLayout[4]->addSpacing(20);

    m_vboLayout[0] = new QVBoxLayout;
    m_vboLayout[0]->addLayout(m_hboLayout[0]);
    m_vboLayout[0]->addLayout(m_hboLayout[1]);
    m_vboLayout[0]->addLayout(m_hboLayout[2]);
    m_vboLayout[0]->addLayout(m_hboLayout[3]);
    m_vboLayout[0]->addLayout(m_hboLayout[4]);
    m_vboLayout[0]->setMargin(1);
    //组合盒子
    m_grobox = new         QGroupBox(tr("控制器信息"));
    m_grobox->setLayout(m_vboLayout[0]);
    m_grobox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    m_vboLayout[1] = new QVBoxLayout(this);
    m_vboLayout[1]->addWidget(m_grobox);

}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-4 11:34:30 显示全部楼层
一叶知秋 发表于 2015-5-4 11:26
你贴个图看看吧。。。

我发出来了 你来这里在看看 我不太懂
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-5-4 11:54:38 显示全部楼层
你是指哪个距离比较远,我没太懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了