• 8812阅读
  • 12回复

弹出窗口中布局 [复制链接]

上一主题 下一主题
离线themoonstone
 

只看楼主 倒序阅读 楼主  发表于: 2014-05-13
新人求教,我刚刚开始学QT编程,想在一个弹出的子窗口中添加一个编辑框,但是它不随着窗口的大小变化,听说这里要用到布局,问一下各位大神,应该怎么给弹出窗口添加布局啊
离线realfan

只看该作者 1楼 发表于: 2014-05-13
编辑框大小不变的话,可以不用布局,直接往窗口上放就行了。
如果编辑框只是输入少量内容,可以直接用QInputDialog
离线彩阳

只看该作者 2楼 发表于: 2014-05-13
这种情况不用布局。话说有什么截图可以展示一下你的想法吗?
上海Qt开发联盟,热忱地欢迎你的加入!
离线themoonstone

只看该作者 3楼 发表于: 2014-05-14
回 realfan 的帖子
realfan:编辑框大小不变的话,可以不用布局,直接往窗口上放就行了。
如果编辑框只是输入少量内容,可以直接用QInputDialog (2014-05-13 15:26) 

我表达有误  我是希望编辑框大小可以随着窗口改变的 但不是在当前窗口下  是在子窗口的弹出窗口中  好像不能直接在UI界面上完成啊
离线themoonstone

只看该作者 4楼 发表于: 2014-05-14
回 彩阳 的帖子
彩阳:这种情况不用布局。话说有什么截图可以展示一下你的想法吗? (2014-05-13 16:06) 

就是希望可以改变大小 因为是在当前窗口的弹出窗口下的一个编辑框  好像不能直接在UI界面完成啊 ,有什么办法吗
离线themoonstone

只看该作者 5楼 发表于: 2014-05-14
怎么用代码实现QT的布局啊
问下  自己不用界面创建控件,用代码创建的控件  怎么才能实现布局啊 让控件跟着窗口大小一起变化
额  写个代码在这 求大神指点
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QTextEdit *edit=new QTextEdit(this);

}

MainWindow::~MainWindow()
{
    delete ui;
}

就这几行代码  我想实现对edit的布局  应该怎么做啊   求解啊
离线realfan

只看该作者 6楼 发表于: 2014-05-14
回 themoonstone 的帖子
themoonstone:问下  自己不用界面创建控件,用代码创建的控件  怎么才能实现布局啊 让控件跟着窗口大小一起变化
额  写个代码在这 求大神指点
#include "mainwindow.h"
#include "ui_mainwindow.h"
....... (2014-05-14 11:29) 

类似于下面的代码
QHBoxLayout * layout = new QHBoxLayout();
layout->addWidget(edit);
setLayout(layout);
4条评分好评度+1贡献值+1金钱+1威望+1
themoonstone 好评度 +1 - 2014-05-14
themoonstone 贡献值 +1 - 2014-05-14
themoonstone 威望 +1 - 2014-05-14
themoonstone 金钱 +1 - 2014-05-14
离线themoonstone

只看该作者 7楼 发表于: 2014-05-14
我在mainwindow下进行布局,编辑框已经可以随窗口大小变化而变化 了,为什么还会出现 “which already has a layout ”语句啊  求指点
离线realfan

只看该作者 8楼 发表于: 2014-05-14
回 themoonstone 的帖子
themoonstone:我在mainwindow下进行布局,编辑框已经可以随窗口大小变化而变化 了,为什么还会出现 “which already has a layout ”语句啊  求指点 (2014-05-14 16:13) 

一般的窗口,可以用setLayout
但QMainWindow已经有自己的窗口布局,就不应该再用setLayout了,一般是设置一个中心窗口
如setCentralWidget(edit);这样,文本框会自动充满窗口。

你的代码,如果是弹出窗口,不应该用QMainWidow,用一般的Widget或QDialog比较好。
离线themoonstone

只看该作者 9楼 发表于: 2014-05-15
回 realfan 的帖子
realfan:一般的窗口,可以用setLayout
但QMainWindow已经有自己的窗口布局,就不应该再用setLayout了,一般是设置一个中心窗口
如setCentralWidget(edit);这样,文本框会自动充满窗口。
....... (2014-05-14 21:59) 

我之前也是打算用QWidget,但如果不用QMainwindow创建一个主窗口的话,我该怎么在QWidget创建的窗口上添加工具栏和菜单栏啊
离线themoonstone

只看该作者 10楼 发表于: 2014-05-15
如何在QT弹出的对话框中绘制文件
我想在一个弹出对话框中绘制图片和文字,用QPainter好像不行啊   谁能告诉我应该怎么办啊
离线realfan

只看该作者 11楼 发表于: 2014-05-15
弹出窗口一般是临时设置输入等用一下,你的会用到这么复杂。
离线shiziyang

只看该作者 12楼 发表于: 2014-05-15
QDialog的话,工具栏和菜单栏,直接new一个扔上去就有了,画东西的话,派生这个QDialog,然后在paintevent里画。
快速回复
限100 字节
 
上一个 下一个