问个 Qwidget显示问题,代码很简单,。
困恼我好多天了,都不知道怎么解决。我是想实现将Widget 这个类在Desk中显示出来,但是显示的效果就只有一个QToolButton,而不显示Widget,widget我特意
设置了下背景色,便于和Desk区别。。
想问下为什么不显示Widget,而QToolButton能显示?
--------------------编程问答-------------------- widget 单独显示是没问题的,
这个是显示效果 --------------------编程问答-------------------- widget->setGeometry(QRect(0,220,32,22));
你的btn大小是(30,20),widget才这么大当然看不清,我看了你的图,btn的右边其实有widget显示的,但是只有1条边 --------------------编程问答-------------------- widget->show(); --------------------编程问答--------------------
(0,220,32,20) 32是手写漏掉0了,,不过我改成320还是显示不出WIDEGT --------------------编程问答-------------------- show 也不显示,, --------------------编程问答--------------------
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setStyleSheet ("background-color:blue;");
startButton = new QToolButton(this);
startButton->setGeometry (0,0,100,40);
this->resize (300,200);
}
显示结果就是你想要的结果。。。Widget也有背景颜色 --------------------编程问答-------------------- [Quote=引用 6 楼 p89787259 的回复:]
我不想用 Designer 用的话写代码很乱,,我发现为什么不显示了,只是不会解决。。
我在Widget里面添加信号和曹的申明Q_OBJECT 只要我一添加这个申明就 就不能显示整条Winget,只显示一个
QTOllbutton,, --------------------编程问答-------------------- 添加完Q_OBJECT的声明后,把编辑器关掉重新启动就好了,不知道算不算qt creator的bug --------------------编程问答-------------------- 感觉像是顶级控件的问题 不过还第一次听过 宏声明需要重启 --------------------编程问答-------------------- [Quote=引用 8 楼 zhaoshuzhi 的回复:]
我觉得关掉编译器没用吧,,关掉编译器 。。 --------------------编程问答-------------------- 哎。粗心大意要人命阿。
请留意下 sourceinsight 0009:Widget(QWidget *parent=0); 你把parent写成了什么东西......
再想想你的问题:为什么只显示一个button却不显示widget... --------------------编程问答--------------------
哈哈 居然写漏掉E 真是太粗心了,你看东西好仔细,,不过这个写不写无关紧要的,只是代码规范问题。。 --------------------编程问答-------------------- [Quote=引用 11 楼 yiyaaixuexi 的回复:]
再看了下 原来是N E 位置掉换了,,呵呵,,NND 我太粗心了 --------------------编程问答-------------------- 现在知道问了,,定义Widget背景色用setstylesheet 和q_OBJECT(帖子代码没定义) 貌似有BUG ,,改用调色板就不会出现问题了。。
补充:移动开发 , Qt