
Pycharm中setting->Tools->External Tools->+
如下:
working directory:一般会自动生成 或者输入
即当前目录
然后就可以在tool下发现 pyqt designer了
打开界面如下 就可以开始页面设计了
用designer生成的文件为ui文件,我们需要转换成py文件,所以要用到PyUIC,配置过程类似
program:这里是你pythonexe文件的位置。
arguments:这里固定的
working directory:这里注意不要用自动生成的路径 需要使用
不然在生成py文件时会报错 no such file ui
这样就可以直接生成py文件了。
新建一个basepy文件
运行basepy 即可打开你写好的页面这个一般人都会靠重载控件的paint函数来做让按钮背景透明,失去按钮原来方方正正的边框然后在上面贴一个好看的按钮相应按钮不同状态做不同的处理(比如按下的时候让按钮颜色表按之类的)但是工作量,就是一个大啊重载一两个控件还行
Qt里面还可以用(视图,场景,模型)QGraphicsView,QGraphicsIitem等等这一系列的类来开发不规则控件用起来比较灵活听说Qt Demo 就是用这个框架来开发的
一个书上说比较好用的方法就是用QStyle来写界面的风格,不过对个人能力的要求还是比较搞的搞过一两次,觉得是挺好用比起上两个来说工作量小很多但是要了解QStyle的用法老实说这个东西实在很难
另外你还可以用qss来搞一种Qt中使用的css,虽然官方一直说是参考css搞出来的东西但我怎么看都是一个样
用代码搞了那么久的Qt界面美化一直到qml出现了我爱死他了如果你一定要搞的话我建议你用qml来搞那就是一个给力就是有一点,现在qml的资料少得可怜
最后如果你是初学者的话最好不要去硬搞界面美化这一块很伤的到后面你会慢慢明白搞界面美化不是一个人可以做的事你至少需要一个美工吧呵呵呵呵上述一切均为个人意见仅供参考自定义一个widget,重写paintEvent ( QPaintEvent event ) 画你想画的图形,然后调用 QTabWidget::setCornerWidget
+1
自己自定义一个widget作为QTabWidget的一个页面。
怎么自定义一个widget,要创建一个类吗,具体怎么 *** 作啊,谢谢!
自己定义一个类去继承QWidget,重写这个类的paintEvent
那怎么放到tabwidget里面呢,用insertTab(int index,QWidget widget,const QString &)吗。那么这个函数中的QWidget widget怎么定义。
这样的话,我把图都画在了自定义的类里面,那么我怎么调用这个类不停的画图呢。
你要在你调用的地方构造:
MyWidget widget = new MyWidget(this);
然后在通过insertTab去添加这个widget。
paintEvent事件是在MyWidget重写的,你只要在widget的区域就可以不停的画图了。
[解决办法]
Qt的绘图比较特别,也是类似MVC方式(MFC是直接绘图,也可类似MVC),数据和视图分开,paintEvent里只要写绘图代码。其它的地方处理数据,更新完了数据,直接update就会重绘。
我这有个简单的例子:>void drawTest(QWidget wgt){
QPainter painter(wgt);
painterfillRect(wgt->rect(),wgt->palette()color(QPalette::Window));
}
比如这样?
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)