qt中格子布局删除布局中的控件,行数未减少

//原先这个格子布局中有4个按钮,现在删除第一个的按钮,在最后以后添加一个按钮。
QLayoutItem* pDeleteItem(NULL);
pDeleteItem = m_pGridLayout->itemAt(0);
if(pDeleteItem != NULL)
{
QWidget* pWidget = pDeleteItem->widget();
m_pGridLayout->removeWidget(pWidget);
pWidget->setParent(NULL);
delete pWidget;
pWidget = NULL;
}

    QPushButton* pPushButton = new QPushButton(QString::number(m_iReplaceRow+1),ui->frame);
    if(pPushButton != NULL)
    {
        m_pGridLayout->addWidget(pPushButton,m_iReplaceRow,0);
    }
    qDebug()<<m_pGridLayout->rowCount();
0

1个回答

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
QLayout删除控件后重新布局问题
问题描述n我使用的是FlowLayout,是从QLayout继承的类,删除layout里的控件之后虽然设置了margin,但是控件位置错乱,控件在靠最左的位置。n之前使用的时候删除控件用的takeAt是没有问题的,代码如下:nint  index = m_pFlowlayout->indexOf(curWidget)nnQLayoutItem *currentItem = m_pFlow
遍历某一布局控件下子控件并删除
直接上代码:rnrnrnQObjectList list = ui.scrollAreaWidgetContents->children();rn    foreach(QObject *obj, list) rn    {rn        if (obj->inherits("QWidget"))rn        {rn            QWidget *fm = qobject_ca
QT-从QLayout中遍历出组件(Widget)
[code=&quot;c++&quot;]rn// m_historyLayout是某成员的父组件,假设在其有一个表,将其遍历出.rn for (int cc = m_historyLayout-&gt;layout()-&gt;count(); cc &gt;= 0; --cc)rn {rn QLayoutItem *it = m_historyLayout-&gt;layout()-&gt;itemAt(cc);rn QTableWid...
QT技巧 - QT中如何清空layout中所有控件
QT中如何清空layout中所有控件
QT 删除子控件
使用delete maker时,偶尔会报错。使用marker-&gt;deleteLater()就ok了;nnnQList&lt;CMapMarkerEx*&gt; tlist = this-&gt;findChildren&lt;CMapMarkerEx*&gt;(QString("mapMarker"), Qt::FindChildrenRecursively);nforeach(CMapMa...
QVBoxLayout移除控件之后没有消失
QVBoxlayout
Qt依赖布局隐藏子控件问题
当主窗口依赖于布局设置大小时,放大正确(如子控件show),缩小错误(如子控件hide,子控件会变化,父窗口的布局不会自适应),需要进行如下处理:nnnwidget-&amp;gt;hide();nwidget-&amp;gt;setAttribute(Qt::WA_DontShowOnScreen);nwidget-&amp;gt;setAttribute(Qt::WA_DontShowOnScreen, false)...
Qt : 主窗口中添加布局和删除布局的问题.
1.主窗口添加布局.nn都知道在QWidget中,进行布局很简单,直接类似如下即可:nn QPushButton *firstButton = new QPushButton();n QPushButton *secondButton = new QPushButton();n QPushButton *lastButton = new QPushButton();nn /
PyQt5在QGridLayout布局下动态删除增加控件
PyQt5 QGridLayout removeWidgetrnPyQt5 动态删除增加控件rn注意rn删除控件removeWidget() 之后需要 sip.delete()rnimport siprnself.gridlayout.removeWidget(self.F)rnsip.delete(self.F)rnrnrn# 此时 self.F 控件已删除,增加回来需要重新实例化rnself.F = MyFigu...
Qt手动布局和添加控件
申明控件使用 Q类名 *控件名 = new Q类名; n格式对控件进行赋值使用 控件名->setText(“文本”); n布局分为垂直布局和水平布局,分别为QVBoxLayout和QHBoxLayout,使用时需要申明,Q布局类名 *布局名 = new Q布局类名; n向布局剧中添加控件使用布局名cmdLayout->addWidget(控件名);最后申明窗口类,进行显示。 n例程:int mai
android 程序中动态添加删除控件或布局
android 程序中动态添加删除控件或布局,设置大小,位置
QT可动态添加、删除控件的小项目
QT实现的可动态添加、删除控件的小项目;当添加控件达占满widget时,自动添加滚动条效果,并提供了一个删除功能,删除你添加到widget里的控件。控件可以是任何的大小的QWidget.
Qt动态添加删除控件总结
Qt动态添加控件的方法,具体而言就是根据用户操作生成新的控件到界面,同时,相应的操作可以使得控件动态删除。n使用Qtcreate创建一个UI生成文件,在生成的对象构造函数中,选择要显示的区域,布局,并添加响应的槽函数n槽函数实现:nn Btumenu*btumenu=newBtumenu(this);n ui->gridLayout->addWidget(btumenu);n btumen
Qt自定义控件GridLayout
自定义布局控件 实现功能 1、控件增(前插、后插)、删 2、设置列数 3、设置滚动条显示与隐藏 有什么更好的建议请留言...
Qt栅格布局管理器(QGridLayout)
Example:Widget::Widget(QWidget *parent) :n QWidget(parent),n ui(new Ui::Widget)n{n QGridLayout* layout = new QGridLayout();n QLabel* l1 = new QLabel("Name(N)");n QLineEdit* name = new QL
移除子控件两种方式的区别
在正常情况下,移除一个view控件,通常都是先使用findViewById(int) 来获取该控件的实例,再调用它的setVisibility(int)的方法来隐藏或者移除该控件。但是如果ViewGroup中的子控件是动态的(或者说是没有指定id),那么要移除控件,就需要对父容器进行操作,移除的话有两种方式:n调用getChildAt(int)方法获取子控件对象,之后调用其setVisibility
遍历一个布局里面所有的控件
private void getButtons(ViewGroup viewGroup) {  rn  if (viewGroup == null) {  rn   return;  rn  }  rn  int count = viewGroup.getChildCount();  rn  for (int i = 0; i rn   View view = viewGroup.getChild
学习记录-Qt窗口控件的动态添加和删除
一般用Qt写软件,使用designer创建一个窗口,拖几个控件进行一下布局就够用了,但有些需求,需要自定义各种类型的控件,并且很多控件需要根据数据的交互,动态的添加和删除,为此学习了一下Qt的实现方法,在此记录之。n方法是,使用布局的addWidget函数添加控件,删除时使用removeWidget函数,需要设置控件的deleteLater属性,也可以使用delete直接删除。nnvoid
android删除一个view中的子view
android系统中已经提供了一些删除父控件中的方法。rn如:.removeAllViews();rn.removeViews(start, count);rn.removeViewsInLayout(start, count);rn....rn但是有时这些并不是太满足需求,自己写删除子view的方法:rnView view = null;(mContentLayout是父控件)rnfor(int
[Android]【安卓】在代码中实时添加、移除布局、控件
[Android]【安卓】在代码中实时添加、移除布局、控件nnnn本篇博客已收录到我的安卓开发小结中——点击【安卓开发小结】nn1、添加 n要在代码中动态添加布局和控件,可以使用ViewGroup类自带的addView方法,如下:nnframLayout.addView(animationFrameLayout);nn方法接受的参数类型为View,说明可以添加布局和控件,只要继承了View类。需要...
QT使控件自适应布局的方法
举个例子:在窗口里添加了一个日历,未采用布局前,窗口最大化是这样的!nnn n 现在采用栅格布局,选择两个水平spacer,和日历,先进行水平布局,保证布局后日历两侧有一定留白 n n 然后选中日历,修改这里 n n 将水平和垂直策略都改为expanding,使窗口变化时,控件大小能自由变换大小,同时可以修改minimumsize和maxmumsize,设置控件最...
在QMainWindow添加控件或者布局无法显示,而QDialog却可以
在QMainWindow添加控件或者布局无法显示,而QDialog却可以,为什么呢?rnrnQMainWindow类主窗口:rn中心窗口部件处在锚接部件的内部,位于主窗口的中心,一个主窗口只有一个中心窗口部件。主窗口QMainWindow具有自己的布局管理器,因此在QMainWindow窗口上设置布局管理或者创建一个父窗口部件作为QMainWindow的布局管理器,都是不允许的。但可以在主窗口的中
动态清空LinearLayout中的所有控件
private LinearLayoutrnheader_ll;//创建对象rnrnrnheader_ll = (LinearLayout) headerView.findViewById(R.id.header_ll);//绑定控件rnheader_ll.removeAllViews();//清空布局
Qt 获取Layout内控件坐标的方法
填坑填坑,这也是坑了我好久的,在百度上都搜不到首先,是获取全局坐标的方法肯定是mapToGlobal其次,放在Layout下的控件在构造函数初始化阶段肯定是没有具体坐标的,所以要是直接在初始化阶段调用mapToGlobal肯定会得到不正确的坐标解决,在差不多绘制完成的阶段调用,即可获取正确的坐标,目前已知的可以在QEvent::WindowActivate产生的时候来调用即可获得坐标。即12345...
动态添加布局并实现点击事件
1.加载在线图片并点击预览功能实现。2.动态添加布局并实现点击事件。
QT基础——解决QTabWidget控件铺满QMainWindow父窗口
解决思路:rn大致与wxWidget的布局思路差不多,即在顶层窗口QMainWindow与QTabWidget之间加一层QWidget。rnrnrnrnrnQWidget * centralWidget = new Qwidget(parent); rn//parent 为QMainWindow类型指针rnQTabWidget *tabWidget = new QTabWidget(central
gridView中的子控件无法铺满父布局
在使用gridView的时候,把gridView的子控件设置matchParent,同时没有设置任何的padding与margin,结果发现gridView左侧一条一直空白!如图中标红所示。后来发现应该是gridView滑动条,把gridView的android:listSelector属性设置为&quot;@null&quot;后,问题解决。ListView应该也会遇到同样的问题,mark一下。nn        ...
在代码中改变GridLayout的子控件的位置
近日项目需求,popupWindow弹出一个列表框,为方便起见我使用了GridLayout,但是坑逼的是里面的按钮排序要按照服务端的控制来指定,
Qt布局管理(4):网格布局(QGridLayout类)
Qt布局管理(4):网格布局(QGridLayout类)rn若对C++语法不熟悉,建议参阅《C++语法详解》一书,电子工业出版社出版rn1、网格布局原理(见图5-17):rn基本原理是把窗口划分为若干个单元格,每个子部件被放置于一个或多个单元格之中,各单元格的大小可由拉伸因子和一行或列中单元格的数量来确定,若子部件的大小(由sizeHint()确定)小于单元格,则可以设置该子部件位于单元格的什么位置(顶...
Qt5布局管理内 控件设置最小尺寸
-
PYQT5 动态删除增加控件(不使用布局情况)
工具/版本nn(1)安装环境:Windows7 64bitnn(2)使用版本Python3.6nn(3)PYQT5nn(4)eric6nn使用布局,请参考这篇文章nnPyqt 动态的添加控件nn删除控件:nnself.buttom.deleteLater()nn关闭控件:nnself.button.close()或者self.button.hide()nn重新显示控件:nn如果是删除,需要重新创建...
Qt之QLayout 遍历所有子项
        在使用QLayout做窗口布局时,有时候我们需要对其进行遍历得到子项,一般的我们都是通过自带的函数children()得到一个链表,然后再对链表进行遍历,首先我设置布局如下:nnn//设置布局nQVBoxLayout *pLayout = new QVBoxLayout;npLayout-&amp;gt;addWidget(wiget1);npLayout-&amp;gt;addWidget(wi...
Android开发笔记----界面布局及在布局上动态地增加删除子元素
1.re布局n这是一个相对布局,既可以跟父级的容器相对,也可以跟子元素相对。n跟子元素想对的时候,ru
父控件设置透明度导致子控件透明 Alpha
父控件设置透明度导致子控件透明,子控件并不需要设置成透明 nt1 nnn这样设置就导致了里层的TextView也透明 nt2 nnnt3 nnn需求的样式是这样的, 文字与图片都不设置透明度 nt4 nnn将背景设置透明度,这样就可以达到t4的效果, 该属性值为 0-255 0不透明 255 为全透明 n注意: getBackground().setAlpha(); nt5 n...
Qt5之栅格布局
1、创建栅格布局对象// 2018年6月24日 23:22:02 改为栅格布局n gridLayout = new QGridLayout;2、设置控件位置 // 菜单栏, 0行0列 占 1行 11列n gridLayout-&amp;gt;addWidget(topMenuBar, 0, 0, 1, 10);nn // 工具栏按钮部分n for (int i = 0 ;...
Qt 第6章 布局管理(1) 在窗体中摆放窗口部件 学习笔记
Qt提供的在窗体中摆放窗口部件的类:QHBoxLayout、QVBoxLayout、QGridLayout和QStackLayout。n可以执行布局管理功能的其他类还有QSplitter、QScrollArea、QMainWindow和QMdiArea。这些类拥有的共同点在于它们提供了一种永和可以灵活掌握的布局格式。n一、在窗体中摆放窗口部件n1.绝对布局:setGeometry(左上角x的
Android动态设置布局,为LinearLayout动态添加子控件
View view = getActivity().getLayoutInflater().inflate(R.layout.category_select_popupwindow_right, null);n LinearLayout linearLayoutContainer=(LinearLayout)view.findViewById(R.id.linear_layout_c
如何把layout中控件的位置替换
如何把layout中控件的位置替换
android关于 子控件超出父控件范围的注意点
通过 搜索引擎的搜索,我们知道了android:clipChildren = &quot;false&quot;  这个属性 可以让父view 在子view超出以后不切割子view。nn那么我现在说几个注意点,如果你没有注意这几个点可能子view 超不出去。nnn   android:clipChildren = &quot;false&quot;  这个属性要设置在父 view 上。代表其中的子View 可以超出屏幕。n n  子vi...
QT布局先选栅格布局
这样可以将X,y方向都自动调整
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 ios布局课程 ios布局学习