• 6565阅读
  • 6回复

[提问]QPainter怎么实现画图工具的文字输入功能? [复制链接]

上一主题 下一主题
离线xuqiujing
 

只看楼主 倒序阅读 楼主  发表于: 2016-01-18
想做一个类似Windows画图工具,画线、画形状那些已经实现了,但是不知道怎么实现文字输入功能。
是用QPainter做的,希望大神指点下

离线lemonzll

只看该作者 1楼 发表于: 2016-01-18
你那个画图主界面是用graphics view做的吗?我能想到的实现方式就是点击后创建个QTextEdit,设置下边框之类的效果和大小,添加到scene里面,把原来的覆盖掉,等编辑完以后再删除这个创建的,显示出原来的
离线tylan

只看该作者 2楼 发表于: 2016-01-19
使用函数drawText或者drawTextItem
离线meteor-z

只看该作者 3楼 发表于: 2016-07-16
请问楼主实现这个功能了吗?我现在有个作业也要实现类似功能?求指教
离线ycj211

只看该作者 4楼 发表于: 2016-07-20
悬浮QLineEdit ,设置样式,完成输入后,将结果显示在画布上。

只看该作者 5楼 发表于: 2016-07-21
//写字
    if ( m_listText.isEmpty() ) return;
    for ( short i = 0; i < m_listText.size(); ++i )
    {
        QFont font;
        font.setPointSize( 20 );
        font.setFamily( QStringLiteral( "微软雅黑" ) );
        painter.setFont( font );

        QPen  pen;
        pen.setColor( QColor( 255, 0, 0 ) );
        painter.setPen( pen );
        painter.drawText( m_listText.m_pos, m_listText.m_str );
    }

只看该作者 6楼 发表于: 2016-07-21
点击某个位置,创建一个临时的QLineEdit,在里面编辑文字,然后销毁掉QLineEdit,将文字写到原位置,代码在5楼。
快速回复
限100 字节
 
上一个 下一个