日志
-
2018-01-27 16:35
-
自定义了一个model,又定义了view,delegate。
阅读全文»分类:默认分类|回复:0|浏览:811
想实现自定义的readOnlydelegate 背景色显示为灰色, 以显示区别。
初始想法,直接在VIEW里改,可找不到函数,接着在delegate里用了paint() 函数,变成了整个颜色覆盖了,不能显示里面的文字。
最后只好在model里改了。好无奈。
虽然也可以在model 里添加函数,来自定义各个单元格的字体、颜色、背景色等,但这个和MVC的思想是不是有点违背?反过来想,字体颜色等也是数据,当然得存在model
QVariant TableModel::data(const QModelIndex &index, int role) const
{
if (!index.isVali ..
-
2018-01-14 16:55
-
enum SomeEnum { Value1, Value2, Value3 };
阅读全文»分类:默认分类|回复:0|浏览:756
Q_DECLARE_OPERATORS_FOR_FLAGS( QFlags <SomeEnum>)
// The previous line declares
// Q_DECL_CONSTEXPR QFlags<SomeValue> operator|(SomeValue,SomeValue) {...}
int someFunction( QFlags <SomeEnum> value) {
switch (value) {
case SomeEnum::Value1:
return 1 ;
case SomeEnum::Value2:
return 2 ;
case SomeEnum::Value1 | SomeEnum::Value3:
// Only possible with C++11 and because QFlags operators are constexpr
// Previously this line would ca ..
-
2018-01-13 10:35
-
m_tableView->horizontalHeader ()->setSectionResizeMode (QHeaderView::Stretch);
阅读全文»分类:默认分类|回复:0|浏览:746
接下来设置各种columnWidth 都无效了。
恢复默认
m_tableView->horizontalHeader ()->setSectionResizeMode (QHeaderView::Interactive);
-
2018-01-13 10:28
-
做了个对话框,里面的按钮中文能显示,但是在mainwindows.cpp里面自己定义的TABLEVIEW里面的中文却全是乱码。
阅读全文»分类:默认分类|回复:2|浏览:748
尝试了各种办法都无效。添加代码,改编码方式,都不行。
然后发现其他文件里面都能输入中文,切换到mainwindow.cpp里面,中文输入法神秘消失了。
然后用来一招搞笑的办法,随便建立新的cpp,把原来的mainwindows.cpp的代码拷贝过来,该文件名为mainwindows.cpp。居然好了。
-
2017-11-09 21:52
-
被打印机名字,打印机支持的纸张名字,纸张的尺寸信息 搞得一头雾水。
阅读全文»分类:默认分类|回复:0|浏览:726
想简单的实现一个功能,两个combobox,一个显示 支持的打印机名称,一个显示该打印机支持的纸张名称,改变打印机的同时,支持的纸张名称页改变。
可QPrinterInfo 类里只是支持 QPageSize,而需要自己从QPageSize 里自己提取 name。于是简单的做了个类,可以直接实现各个转换。
#ifndef QTEPRINTER_H
#define QTEPRINTER_H
#include <QString>
#include <QStringList>
#include <QList>
#include <QPageSize>
#include <QMap>
class ..
-
2017-11-05 16:53
-
头文件中定义
阅读全文»分类:默认分类|回复:0|浏览:782
QList <QPrinterInfo > list; //打印机的所有信息
QList <QStringList> pageSizeInfo; //保存支持的纸张信息
QStringList printerList; // 保存目前的打印机信息
QList<QPageSize> userPageSizeList; // 保存打印机支持的 ..
-
2017-11-04 22:50
-
把目前学到的知识都用上了,输入值后可以自动计算,出结果。
阅读全文»分类:默认分类|回复:0|浏览:630
表格可打印,打印预览,存为pdf文件,可自定义页面,页脚。默认模式A4。
修改代码后,可实现纸张设定,页面范围设定。
慢慢来吧。
-
2017-11-04 09:03
-
QT自带了QPrintPreviewDialog QPrintPreviewWidget QPageSetupDialog 等,里面对纸张大小、方向、页边距都有设定,下一步就看看这几个类的实现方式了。
阅读全文»分类:默认分类|回复:0|浏览:754
-
2017-11-04 08:59
-
QPrinter printer(QPrinter::HighResolution);
阅读全文»分类:默认分类|回复:0|浏览:762
QPrintDialog dialog(&printer,QApplication::activeWindow());
if (dialog.exec()==QDialog::Accepted){
QPainter p(&printer);
foreach(pageScene, pageSceneVector){
pageScene->render(&p, printer.paperRect(), sceneRect);
if(pageScene != pageSceneVector.last())
printer.newPage();
}
}
预览功能
主函数里添加
QPrinter printer(QPrinter::HighResolution);
//自定义纸张大小
printer.setPageSize(QPrinter::A4);
QPrintPreviewDialog preview(&a ..
-
2017-10-31 19:42
-
class QTEGraphicsPixmapItem : public QGraphicsPixmapItem
阅读全文»分类:默认分类|回复:1|浏览:721
{
public:
explicit QTEGraphicsPixmapItem(QTEGraphicsItem *parent = 0);
public:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
QRectF boundingRect() const ;
void setQTEpixmap(QPixmap pixmap);
QPixmap qtpixmap;
};
void QTEGraphicsPixmapItem::paint(QPainter *painter, const QStyleOptio ..