显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙漠里de烟雨__风尘无名

原创 并 分享,禁止转载

 
 
 
 
 
 

广东省 深圳市 射手座

 发消息  写留言

 
先后从事网络管理,软件开发, 宅,偶而诗抒胸意, 分享,让互助更简单.
 
近期心愿别让脂肪往上堆
POPO  微信:武林中人
QQ1473786754
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 
 
 
 

Qt 根据QString类型来动态创建控件

2017-6-9 2:54:03 阅读3 评论0 92017/06 June9

关键代码附上:
btnfactory.h => 

#include <QWidget>

#ifndef BTNFACTORY_H
#define BTNFACTORY_H

作者  | 2017-6-9 2:54:03 | 阅读(3) |评论(0) | 阅读全文>>

qt gui 与 qml 的比较

2017-6-8 3:43:40 阅读4 评论0 82017/06 June8

1) qt gui 如QWidget,QMainWindow等窗口是基于软件栅格方式渲染的,而qml的可视窗体是基于openGL,这两种本质的区别,故而qml写的窗体可以嵌入到qt gui中(如用QQuickWidget等),而反过来则不可行。如果要通过qml来控制qt gui写的窗体的创建与布局,可以通过一个QObject对象(通过嵌入至qml)实现 qml 与qt gui的交互。
2)qml 中写的父子窗体若均想获取鼠标消息,如MouseArea中的鼠标经过消息,在它们的重合区域中,子窗体的消息会被父窗体拦截,故一般只在父窗体中使用MouseArea,然后通过鼠标位置来定位是否在子窗体区域,并做相应的处理。而在qt gui中,由于消息是逐级传递的,所以默认不会拦截子窗体/控件的消息,这点在处理鼠标经过时的控件状态变化时尤其有效。
3)qml有一非常

作者  | 2017-6-8 3:43:40 | 阅读(4) |评论(0) | 阅读全文>>

如下:
#include <QApplication>
#include <QWidget>
#include <QLabel>

int

作者  | 2017-6-8 3:15:57 | 阅读(8) |评论(0) | 阅读全文>>

Qt下 帽式Tab的 TabWidget

2017-6-8 3:09:42 阅读4 评论0 82017/06 June8

如图:
Qt下 帽式Tab的 TabWidget - 漠雨 - 沙漠里de烟雨__风尘无名
 
 关键代码:
#include <QPainter>
#include <QProxyStyle>
#include <QStyleHintReturn>

class CustomTabStyle : public QProxyStyle
{
public:
    QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const
    {
        QSize sz = QProxyStyle::sizeFromContents(type,option,size,widget);
        if(type == QStyle::CT_TabBarTab)

作者  | 2017-6-8 3:09:42 | 阅读(4) |评论(0) | 阅读全文>>

Qt 下 帽式Tab

2017-6-8 2:57:54 阅读4 评论0 82017/06 June8

先看效果:
Qt 下 帽式Tab - 漠雨 - 沙漠里de烟雨__风尘无名
 
关键代码如下:
#include "widget.h"

#include <QPaintEvent>
#include <QPainter>

Widget::Widget(QWidget *parent)  : QWidget(parent)
{
    this->resize(960,600);
}

Widget::~Widget()
{

}

void Widget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);

    painter.setPen(Qt::red);

作者  | 2017-6-8 2:57:54 | 阅读(4) |评论(0) | 阅读全文>>

如下图所示
Qt 之 QTreeView与QAbstractItemModel下的自定义树,支持拖放 - 漠雨 - 沙漠里de烟雨__风尘无名
 
 代码如下:
widget.cpp =>

#include "Widget.h"
#include <QLayout>

作者  | 2017-5-29 14:31:24 | 阅读(13) |评论(0) | 阅读全文>>

qml 帽式Tabwidget

2017-5-19 17:21:58 阅读9 评论0 192017/05 May19

先贴上图:
qml Tab demo - 漠雨 - 沙漠里de烟雨__风尘无名
 
贴上代码:
main.qml  =>

import QtQuick 2.5
import QtQuick.Window 2.2

作者  | 2017-5-19 17:21:58 | 阅读(9) |评论(0) | 阅读全文>>

QML 自定义tab形状  类似梯形

2017-5-19 17:00:17 阅读10 评论0 192017/05 May19

import QtQuick 2.0
Rectangle
{
 id: root
 width

作者  | 2017-5-19 17:00:17 | 阅读(10) |评论(0) | 阅读全文>>

QML 输入框内的灰色字体的默认提示

2017-5-19 1:21:42 阅读13 评论0 192017/05 May19

  import QtQuick 2.0
  import QtQuick.Controls 2.0

......

  TextField {
      id: nameId
      placeholderText: qsTr("请输入姓名")   //默认输入提示

      background: Rectangle {
          implicitWidth: 200
          implicitHeight: 40
          color: nameId.enabled ? "transparent" : "#353637"
     

作者  | 2017-5-19 1:21:42 | 阅读(13) |评论(0) | 阅读全文>>

QML 界面嵌入到QQuickWidget后,QML的子窗口Z序不再置顶

2017-5-18 2:38:05 阅读12 评论0 182017/05 May18

在qml写的界面时,有时需要弹出一些子窗口,由于可以设置其Z序大小便可将子窗口浮于父窗口之上而不被父窗口的边缘裁剪,然而当将qml父窗口嵌入到QWidget体系后,这个悬浮的qml子窗口不再置顶--被Qml的被嵌窗体QQuickWidget所裁剪,面QWidget体系是没有Z值一说的,所以解决的办法是,将这个qml的Z序子窗口继承自Window而非Rectangle。如果还要设为无边框,设置flags即可; 
如下代码片段:

import QtQuick 2.0
import QtQuick.Controls 1.1
import QtQuick.Window 2.0

//Rectangle
Window

作者  | 2017-5-18 2:38:05 | 阅读(12) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注