表格单元格文字颜色可以通过ForegroundRole来设置,但选中高亮的颜色是另外设的,且优先级更高,好像只能通过styleSheet样式设置,想要选中时文字颜色保持不变,可以使用代理。 使用代理 TableView设置: 效果: 另外,下面的代码也能实现,但如果把这个代理用在TreeView中,会导致高亮背景也丢失,不建议使用。
表格单元格文字颜色可以通过ForegroundRole来设置,但选中高亮的颜色是另外设的,且优先级更高,好像只能通过styleSheet样式设置,想要选中时文字颜色保持不变,可以使用代理。 使用代理 TableView设置: 效果: 另外,下面的代码也能实现,但如果把这个代理用在TreeView中,会导致高亮背景也丢失,不建议使用。
通过QPainter导出 通过QTextDocument导出 这里有一个问题是给table设的属性未生效,可能是我Qt版本及其兼容问题。 同时使用 如果要导出的内容既需要painter绘制,也包含富文本,那么这样导出: 这里还有另一种写法:
1. 使用number函数 2. 使用arg 被replace的字符串必须包含小数点,否则如100会被变成1,因为是将匹配到的部分去掉(匹配".0"或结尾的0);这里只支持所取精度位数大于0的情况;
从系统级取消: 只在拖动窗口时设置,可以先save再restore: 如有必要,可手动设置:
QTextEdit 在设置字体颜色和大小时需调用selectAll()函数,但没有取消选中接口,解决方法如下:
Qt中可以将qDebug()输出的信息重定向通过窗口控件输出; 定义一个MsgHandlerWapper类用于转接消息: msghandlerwapper.h msghandlerwapper.cpp 在自己的窗口类中定义一个槽响应message信号:
要全屏需要具有WindowFlag属性,可以把需要全屏的子控件放到一个Widget中; 这里定义一个按钮来进行全屏切换(MyWidget为被放入主窗口的一个子控件),槽函数如下: 注意:测试发现子控件在layout中可以正常进行全屏切换,但在Splitter中该方法存在问题。
直接重写鼠标事件,遇到的问题是:只响应press事件,而move和release事件不响应。 解决方式是将item设为selectable或movable。