一半君的总结纸

听话只听一半君

如何在Qt Designer里使用promoted widgets

如果有自己定义的一个widget,但是使用频率没有很高,或是还在测试中,总之不想把他编译成designer的plugin(只有做成插件才能出现在左侧的所有可用的widget列表里),那么可以用promoted widget的方法来间接的使用

比如想“在designer里”使用这里定义的elidedButton这个自定义的QPushButton,你可以这样操作

widget的定义可以单独放在一个文件里,比如叫做elidedbutton.py 而在designer的ui文件 promote.ui 里,放一个普通的QPushButton,然后在邮件菜单里选择Promoted Widgets

promoted_widget_1

promoted_widget_2

promoted_widget_3

上图中,base class要选QPushButton, ElibedButton是 elidedbutton.py里面的自定义的按钮ElibedButton class的名字,header file要写elidedbutton.h (虽然其实是 elidedbutton.py), 如果你的elidedbutton.py放在了 widget/elidedbutton.py 这样的目录层级下(显然为了让他是个package, 你还得有widget/__init__.py),那你的 Header file那里就应该是 widget/elidedbutton.h

promoted_widget_4

使用的时候,还是和普通.ui文件一样的用

最后效果就是,你在designer里”画”ui的时候用的还是标准的QPushButton, 但是运行的时候用的其实是自定义的ElideButton,是所谓”promoted widget”,

rec_Wt476n1QPm_optimize

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: