qt中怎样实现ToolButtom控件的拖动效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt中怎样实现ToolButtom控件的拖动效果相关的知识,希望对你有一定的参考价值。

参考技术A /**
* @brief Widget::enterEvent
* @param e
*/
void Widget::enterEvent(QEvent *e)

Q_UNUSED(e)
// dialog->show();


/**
* @brief Widget::leaveEvent
* @param e
*/
void Widget::leaveEvent(QEvent *e)

// dialog->hide();
Q_UNUSED(e)

C#

Delphi中怎样用代码添加控件

比如我运行的时候,在Form1中单击按钮,就会在Form2中添加一个Label控件,应该怎么写?
如果用EXCEL的话,那么请问一下,怎么打印我查询的某几条记录呢?

A和B表通过什么字段关连呢?公司名?这个知道了才好写语句

Delphi好象有几个控件可以操纵EXCEL的,当然用OLE自动化也可以,以下是找到的一些控件的使用例子,熟悉后应该能实现你的功能了:

在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
打开Excel
ExcelApplication1.Connect;
显示当前窗口:
ExcelApplication1.Visible[0]:=True;
更改 Excel 标题栏:
ExcelApplication1.Caption := \'应用程序调用 Microsoft Excel\';
添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
打开已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
设置第2个工作表为活动工作表:
ExcelApplication1.WorkSheets[2].Activate; 或
ExcelApplication1.WorksSheets[ \'Sheet2\' ].Activate;
给单元格赋值:
ExcelApplication1.Cells[1,4].Value := \'第一行第四列\';
拷贝整个工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
拷贝指定区域:
ExcelApplication1.ActiveSheet.Range[ \'A1:E2\' ].Copy;
从A1位置开始粘贴:
ExcelApplication1.ActiveSheet.Range.[ \'A1\' ].PasteSpecial;
从文件尾部开始粘贴:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
删除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
打印预览工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
打印输出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
工作表另存为:
ExcelApplication1.SaveAs( \'C:\\Excel\\Demo1.xls\' );
放弃存盘:
ExcelApplication1.ActiveWorkBook.Saved := True;
关闭工作簿:
ExcelApplication1.WorkBooks.Close;
退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
参考技术A Tform1.btn1click(sender:Tobject);
var
label1:TLabel;
begin
label1:=TLabel.create(Form2);
with label1 do begin
left:=32;
top:=32;
caption:='例子';
name:='label1';
end;
end;
参考技术B Form2中写个方法:
procedure CreateLabel ;
var
label:TLabel;
begin
label:=TLabel.create(self);
label.left:=10;
label.top:=10;
label.caption:='label';
end;
然后在Form1中引入Form2的单元
button下写Forms.CreateLabel;
参考技术C 有一个简单办法:先隐藏控件,在单击的时候显示即可。
例如:先设置他的visible属性为False.
在按钮里添加如下代码:label1.Visible := True;

以上是关于qt中怎样实现ToolButtom控件的拖动效果的主要内容,如果未能解决你的问题,请参考以下文章

果冻效果下拉刷新控件

Winform中如何让控件置顶

QT界面怎么使控件随窗口大小变化一直居中显示

求助,WPF如何实现控件的拖动与复制

ToolStrip控件左右拖拽移动效果实现

C# winform 控件拖动问题