社区
Qt
帖子详情
请教Qt布局问题:无法修改现有程序,什么原因
tfssm
2012-09-24 04:18:38
我有一个Qt源代码,想修改界面。我在qt designer下拖动控件,设置layout,都没有用处,界面依然如故。请教一下大家这是怎么回事?
...全文
450
21
打赏
收藏
请教Qt布局问题:无法修改现有程序,什么原因
我有一个Qt源代码,想修改界面。我在qt designer下拖动控件,设置layout,都没有用处,界面依然如故。请教一下大家这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tfssm
2012-09-28
打赏
举报
回复
把paintEvent(QPaintEvent *)注释掉也不起作用 布局还是无法实现 奇怪了
tfssm
2012-09-27
打赏
举报
回复
[Quote=引用 19 楼 的回复:]
额。。这样啊。你在desinger里面。。
最外面的widget的上点右键。。。
最下面有个LayOut ..LayOut in Grid。。试试看有效果没
[/Quote]
这个我已经试过了 问题应该是在
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter paint(this);
paint.setBrush(QBrush(Qt::black));
paint.drawRect(ui->label_display->x()-5,ui->label_display->y()+20,
ui->label_display->width()+10,ui->label_display->height()+1);
}
就是不知道怎么解决
我程序是显示视频的 这个函数在程序里是起什么作用的 应该怎么怎么修改啊
圆圆胖胖的车车
2012-09-27
打赏
举报
回复
额。。这样啊。你在desinger里面。。
最外面的widget的上点右键。。。
最下面有个LayOut ..LayOut in Grid。。试试看有效果没
tfssm
2012-09-27
打赏
举报
回复
[Quote=引用 16 楼 的回复:]
这句话是绘制一个矩形,
位置是以label_display的位置来算的
x:ui->label_display->x()-5
y:ui->label_display->y()+20
width:ui->label_display->width()+10
height:ui->label_display->height()+1
你改一下代码中的位置,看看界面显示是否有变化。
然后再……
[/Quote]
它和界面是什么关系 有了它有什么好处
tfssm
2012-09-27
打赏
举报
回复
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter paint(this);
paint.setBrush(QBrush(Qt::black));
paint.drawRect(ui->label_display->x()-5,ui->label_display->y()+20,
ui->label_display->width()+10,ui->label_display->height()+1);
}
能否讲讲这个函数是做什么的啊 多谢了
polly_polly
2012-09-27
打赏
举报
回复
这句话是绘制一个矩形,
位置是以label_display的位置来算的
x:ui->label_display->x()-5
y:ui->label_display->y()+20
width:ui->label_display->width()+10
height:ui->label_display->height()+1
你改一下代码中的位置,看看界面显示是否有变化。
然后再好好读懂代码
tfssm
2012-09-27
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
没事,可以注释掉。你可以看看效果变了没。
你再添加点东西。看看能显示么?。。
不是很明白你的问题呢。 你是添加了新的控件显示不出来么?
[/Quote]
我设置了layout,想实现控件大小随窗口大小变化而变化
圆圆胖胖的车车
2012-09-27
打赏
举报
回复
没事,可以注释掉。你可以看看效果变了没。
你再添加点东西。看看能显示么?。。
不是很明白你的问题呢。 你是添加了新的控件显示不出来么?
tfssm
2012-09-27
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
paint.drawRect(ui->label_display->x()-5,ui->label_display->y()+20,
ui->label_display->width()+10,ui->label_display->height()+1);
你这个是通过代码自绘的啊,指定了相关控件的位置了
[/Quote]
能否说的更详细一点 这块的确不明白 它的作用是什么 可以注释掉吗
polly_polly
2012-09-27
打赏
举报
回复
paint.drawRect(ui->label_display->x()-5,ui->label_display->y()+20,
ui->label_display->width()+10,ui->label_display->height()+1);
你这个是通过代码自绘的啊,指定了相关控件的位置了
圆圆胖胖的车车
2012-09-27
打赏
举报
回复
还有。。designer里面 添加控件。。记得ctrl s 保存哈。。。
圆圆胖胖的车车
2012-09-27
打赏
举报
回复
呵。你把debug 或者 release文件夹里的.o都删除。。再编译。。不会这么诡异的哈。
tfssm
2012-09-27
打赏
举报
回复
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
init_video();
}
void MainWindow::init_video()
{
timer = new QTimer;
immtime = new QTimer;
timer2 = new QTimer;
year = 2012;
date = 7;
day = 5;
hour = 8;
minute = 40;
second = 0;
displaytime();
video4l_opendev(&vdevice,"/dev/video0");
video4l_getwin(&vdevice);
video4l_getpic(&vdevice);
vdevice.window.width = 480;
vdevice.window.height = 320;
video4l_setwin(&vdevice);
video4l_setpic(&vdevice);
vdevice.mmap.width = 480;
vdevice.mmap.height = 320;
vdevice.mmap.format = vdevice.picture.palette;
vdevice.frame = 0;
vdevice.framestat[0] = 0;
vdevice.framestat[1] = 0;
ui->horizontalSlider_brightness->setRange(0,65535);
ui->horizontalSlider_brightness->setValue(47802);
ui->horizontalSlider_contrast->setRange(0,65535);
ui->horizontalSlider_contrast->setValue(38911);
connect(ui->horizontalSlider_brightness,SIGNAL(valueChanged(int)),this,SLOT(change_brightness(int)));
connect(ui->horizontalSlider_contrast,SIGNAL(valueChanged(int)),this,SLOT(change_contrast(int)));
}
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter paint(this);
paint.setBrush(QBrush(Qt::black));
paint.drawRect(ui->label_display->x()-5,ui->label_display->y()+20,
ui->label_display->width()+10,ui->label_display->height()+1);
}
没有setstyle 是不是和paintEvent有关?
polly_polly
2012-09-27
打赏
举报
回复
再仔细看看你界面的实现代码,能把你界面的实现代码发上来看看么,
或者是不是设置了某种样式了,setstyle
tfssm
2012-09-27
打赏
举报
回复
我把原来的执行文件夹都删了 重新编译改过的程序 界面还是没变 什么原因啊
tfssm
2012-09-24
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
你修改完界面,然后再打开是恢复到原来还是你修改的,若恢复到原来的,那可能是只读的了,改下属性;
若是你的,那么清理下工程,删除掉可执行程序及中间文件试下
[/Quote]
不是只读的。.ui文件生成的头文件是需要删除的吗?源码里有.cpp文件.h文件.pro文件应该如何清理?
feilinhe
2012-09-24
打赏
举报
回复
你修改完界面,然后再打开是恢复到原来还是你修改的,若恢复到原来的,那可能是只读的了,改下属性;
若是你的,那么清理下工程,删除掉可执行程序及中间文件试下
tfssm
2012-09-24
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
把原来程序生成的所有文件都删了,特别是exe文件。然后重新运行。
[/Quote]
linux qt creator环境,只有源码,工程文件,没有exe
许威威
2012-09-24
打赏
举报
回复
把原来程序生成的所有文件都删了,特别是exe文件。然后重新运行。
tfssm
2012-09-24
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
你看一下界面实现代码,是不是通过代码设置的布局。
[/Quote]
不是通过代码设置的布局,没有相关代码
加载更多回复(1)
Qt
开发经验(转载)
本文转载于https://
qt
china.blog.csdn.net/?type=blog,feiyangqingyun的博客,感谢大佬的经验分享。 默认
Qt
Creator是单线程编译,可能设计之初考虑到尽量不过多占用系统资源,而现在的电脑都是多核心的,默认msvc编译器是多线程编译的不需要手动设置,而对于其他编译器,需要手动设置才行。 方法一:在每个项目的构建设置中(可以勾选一个 shadow build 的页面地方)的build步骤,make arguments增加一行 -j16 即可,此设置会保
Qt
C++拖放事件探索之旅:多方法深入解析
Qt
C++拖放事件探索之旅:多方法深入解析
Qt
开发经验总结
增加了很多轮子,同时原有模块拆分的也更细致,估计为了方便拓展个管理。把一些过度封装的东西移除了(比如同样的功能有多个函数),保证了只有一个函数执行该功能。把一些
Qt
5中兼容
Qt
4的方法废弃了,必须用
Qt
5中对应的新的函数。跟随时代脚步,增加了不少新特性以满足日益增长的客户需求。对某些模块和类型及处理进行了革命性的重写,运行效率提高不少。有参数类型的变化,比如 long * 到 qintptr * 等,更加适应后续的拓展以及同时对32 64位不同系统的兼容。
python超市进销存毕业设计-附源码211549
科大超市进销存管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用
程序
的开发两个方面。对于前者要求建立数据一致性和完整性强,数据安全性好的数据库。而对于后者则要求应用
程序
功能完备,易使用等特点。系统实现了客户信息、商品信息、分类信息、入库记录、出库记录、供应商信息等功能。本文详细地介绍了软件的开发环境、数据库的设计、各个模块的设计和实现及具体界面的设计和功能。 关键词:Django Mysql数据库;超市进销存
《 嵌入式系统设计与实践》一一3.2 阅读数据表
3.2 阅读数据表面对着产品发布的压力,很难让开发速度慢下来以便有足够的时间去阅读组件的数据表、手册和应用说明。更糟糕的是,可能看起来都读过了(因为翻阅了所有的资料页)但是什么都没弄明白,只记得好像是用外语写的。当代码运行不起来时,可能就只能抱怨硬件坏了。对于软件工程师来说,可以将每个芯片看成独立的软件库。花了多少努力去学习一个软件包(
Qt
、Gtk、Bo...
Qt
16,229
社区成员
26,620
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章