Excel 请问在VBA中,在frame中动态添加控件的方法

Excel 请问在VBA中,在frame中动态添加控件的方法,第1张

选中textbox,剪切,然后选中frame(一定要选哦),粘贴。调整textbox在frame中的合适位置即可。

-----------------------

请不要把word vba当成VB使用,补充问题即使在VB中运用也存在一定困难。当然在VB中可解决,但基于WORD对象中只怕难实现。

动态对话框是在程序运行时用 Qt Designer 的.ui 文件创建。不用 uic工具把.ui 文件变成

等价的 c++代码,而是在程序时使用类 QUiLoader 加载.ui文件,例如下面的代码:

QUiLoader uiLoader

QFile file("sortdialog.ui")

QWidget *sortDialog = uiLoader.load(&file)

if (sortDialog) {

...

}

控件可以用 QObject::findChild<T>()得到

QComboBox *primaryColumnCombo =

sortDialog->findChild<QComboBox *>("primaryColumnCombo")

if (primaryColumnCombo) { ...

}

findChild<T>()是模板成员函数,得到类型为 T 的给定名字的子控件的指针。由于编

译器的原因,用 MSVC6 是得不到的。如果使用的是 MSVC6,那么可以使用全局函数

qFindChild<T>()。

QUiLoader 类在一个单独的链接库中,如果在一个应用程序中使用了 QUiLoader,

必须在这个程序的.pro文件中添加下面这样的代码:

CONFIG += uitools

使用动态对话框不用重新编译程序就能够改变对话框的布局。

1. 你将图片的绘制写在paintEvent()函数中,并在其中写上设定大小的语句,这样你的布局每次改变,在调用paintEvent()函数时就能使其等比例缩放。

2. 将绝对坐标转换为相对坐标。比如你正常情况下,整体宽度是600,你想把qlabel放在200处,那说明是它的1/3处,你就不要写成离原点固定的200,而是通过比例来计算,这样就应该能避免这个问题吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11873435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存