当重试子项被隐藏时,我将如何调整窗口小部件的大小,使其看起来像在第一个图像中?主要布局是QVBoxLayout,重试子是一个带有QVBoxLayout的小部件.
我尝试过以下方法:
一旦我将重试小部件设置为隐藏,就在主小部件上.我是否需要拦截某些事件才能执行此操作?
我也没有在QMainWindow上为resize事件找到类似教程的方案,也没有在Qt设计窗口的下拉菜单中看到任何添加resize事件的选项.
我是Qt的新手.我想为QMainWindow调整大小事件编写一个插槽函数.有这样的事件吗?我怎样才能做到这一点?
我对Qt比较陌生,并不完全熟悉开箱即用的小部件.我有一个(但不是很)非常复杂的小部件来创建,并且不想重新发明任何轮子.什么是最好的QWidget用作子类和/或QWidgets用于组成我的小部件的起点.这是我正在寻找的最终结果(粗略绘图道歉):

关键点:
在Qt中,我可以通过合成将子窗口小部件嵌入其父窗口中,还是必须创建它们new?
class MyWindow : public QMainWindow
{
...
private:
QPushButton myButton;
}
MyWindow::MyWindow ()
: mybutton("Do Something", this)
{
...
}
Run Code Online (Sandbox Code Playgroud)
文档说任何派生的对象QObject在其父元素被销毁时会自动销毁; 这意味着调用delete,在上面的例子中会崩溃.
我必须使用以下内容吗?
QPushButton* myButton;
myButton = new QPushButton("Do Something", this);
Run Code Online (Sandbox Code Playgroud)
编辑
答案非常多样化,基本上归结为三种可能性:
delete堆分配的对象(这是如何工作的?)delete该对象(但是不会将无父小部件变成顶级窗口吗?)哪一个是正确的?
我需要能够复制Qwidget,因此我可以复制一个窗口,因为它会在运行时更改.这可能吗?
void Duplicate(QWidget * Show)
{
//I tried...
Qwidget Shw = *Show; //but operator= is private
//and the copy constructor (I think), which is also private
Qwidget Shw(*Show);
//
Shw.Show();
}
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中有一个由QSplitter分割的窗口,我需要删除一个小部件.
我怎样才能做到这一点?我找不到有用的方法
我正在寻找类似于完成信号的东西QDialog,仅用于QWidget.原因是,一旦窗口小部件弹出(我根本不是问题),我禁用我的工具栏,并且我希望在关闭窗口小部件后再次启用工具栏.
我也无法覆盖该窗口小部件的close-Event,因为那时我们将在业务类中使用GUI代码.
我正在尝试运行一个简单的Qt程序,当这样做时,我得到一个控制台窗口,提到:QWidget: Cannot create a QWidget when no GUI is being used和第二行This application has requested the Runtime to terminate.....,.exe因此文件停止工作.
我的.pro文件如下:
#-------------------------------------------------
#
# Project created by QtCreator 2011-04-02T07:38:50
#
#-------------------------------------------------
QT += core
QT += gui
TARGET = Hello
CONFIG += console
CONFIG += qt
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
谢谢.
我正在创建一个新的小部件,通过继承QWidget类.我希望能够为这个小部件设置一个比例(高度和宽度),它将始终保持不变.
为此,我总是使用Qt5文档,Google和Stackoverflow进行搜索.显然,我找到了答案:特别是这一个.但是,不幸的是,甚至没有一个是完全有效的:
sizeIncrement即使窗口小部件是窗口,设置也完全没有如果我按照这个答案,有两件事:
那么,我怎样才能保持子类QWidget的宽高比?