
Qt界面设计小知识
咸鱼最牛逼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二十一、继承QStyledItemDelegate单元格选定没有背景色的解决办法
#ifndef DD_H#define DD_H#include <QStyledItemDelegate>class DD : public QStyledItemDelegate{public: DD(); // QAbstractItemDelegate interfacepublic: void paint(QPainter *painter, const QStyleOptionViewItem &option, const Q原创 2021-01-21 22:36:16 · 1745 阅读 · 0 评论 -
二十、QTableView设置列宽不生效问题解析
一、问题及原因QTableView类有一个成员方法:setColumnWidth(),显然是用来设置表格列宽的。但是,这里有个要求。所有对setColumnWidth()的调用都要放在填充数据之后。如果在设置View类的Model之前就调用该方法来设置列宽,是不会起作用的。二、解决办法在所有数据填充完毕之后,再调用 setColumnWidth() 设置列宽...原创 2020-09-12 19:34:39 · 4579 阅读 · 0 评论 -
十九、QToolButton设置类似QPushButton的flat样式(无边框,背景透明)
QToolButton{ border-style: flat; background: transparent;}原创 2020-09-09 22:23:33 · 5592 阅读 · 0 评论 -
十八、解决Qt Creator修改qss文件后导致样式无效问题
参见 解决Qt Creator修改qss文件后导致样式无效问题转载 2020-07-27 19:53:30 · 579 阅读 · 0 评论 -
十七、在QComboBox中显示树状图
核心思想就是: ui->comboBox->setModel(ui->treeView->model()); ui->comboBox->setView(ui->treeView);将 QComboBox 的数据模型设置为 树的数据模型,将视图设置为树状图原创 2020-07-26 22:59:54 · 2471 阅读 · 3 评论 -
十六、QToolButton添加action后出现的下拉菜单按钮上的小三角位置
一、不显示小三角QToolButton::menu-indicator{ image: none;}二、小三角居中显示QToolButton::menu-indicator:image{ subcontrol-origin: margin; subcontrol-position: bottom center; margin-top: 5px;}原创 2020-07-22 23:04:04 · 2750 阅读 · 7 评论 -
十五、设置 Q**Widget可编辑(无需设置代理)
以 QTreeWidgetItem 为例,其他参考即可:QTreeWidgetItem * item1 = new QTreeWidgetItem();item1->setFlags(Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);item1->setCheckState (0, Qt::Checked); //复选框...原创 2020-06-21 16:24:15 · 414 阅读 · 0 评论 -
十四、QGraphicsView的paintEvent双缓存绘画(既自由绘画)
RectView.h#ifndef RECTVIEW_H#define RECTVIEW_H#include <QObject>#include <QGraphicsView>#include <QMouseEvent>#include <QPaintEvent>#include <QKeyEvent>#include ...原创 2020-04-19 19:13:52 · 1943 阅读 · 0 评论 -
十三、使用resizeEvent(QResizeEvent *event)获取控件动态变化的宽高
//这里才是真正读取控件宽高的地方void RectView::resizeEvent(QResizeEvent *event){ pix = QPixmap(width(), height()); pix.fill(Qt::white); qDebug() << width(); qDebug() << height();}res...原创 2020-04-19 18:58:14 · 5606 阅读 · 2 评论 -
十二、QListWidget添加自定义Item
核心代码如下://ListWidgetItemChat 即自定义Itemvoid ChatDialog::addListWidgetItemChat(QListWidget *listWidget, QString username, QString ip){ ListWidgetItemChat *chatItem = new ListWidgetItemChat(); ...原创 2020-04-14 19:44:57 · 2473 阅读 · 0 评论 -
十一、图片扩展铺满QLabel
没设置之前:加上如下代码: //设置图片铺满 QLabel QImage headPotrait; headPotrait.load(":/resources/images/touxiang01.jpg"); ui->labelFace->setPixmap(QPixmap::fromImage(headPotrait.scaled(ui->labelFa...原创 2020-04-12 22:12:09 · 1628 阅读 · 1 评论 -
十、设置 QListWidget 缩略图形式显示图片
void GasAlarm::initListWidget(){ ui->listWidget->clear();// 设置为图标显示模式 ui->listWidget->setViewMode(QListView::IconMode);// 设置为自适应 ui->listWidget->setResizeMode(QL...原创 2020-04-08 22:29:44 · 1795 阅读 · 0 评论 -
九、界面全屏
this->setGeometry(qApp->desktop()->availableGeometry());原创 2020-03-18 21:39:32 · 477 阅读 · 0 评论 -
八、QWidget和QFrame区别
QWidget:就是一个容器QFrame:也是一个容器,不过是一个有边框的容器两者的主要区别就是容器有无边框,比如组合成下面组件时,最好使用QFrame:原创 2020-03-17 20:06:30 · 12840 阅读 · 4 评论 -
七、Qt界面设计之自定义标题栏
达到的效果:代码CustomDialog.h#ifndef DIALOG_H#define DIALOG_H#include <QDialog>class QPoint;class QRect;namespace Ui {class Dialog;}class CustomDialog : public QDialog{ Q_OBJECTpu...原创 2020-03-07 20:56:41 · 2708 阅读 · 0 评论 -
六、Qt界面设计之使用 sizePolicy 属性来自动控制 Widget 在布局中的大小,比如只设置某一个控件随界面变大而变大
一、sizePolicy(大小策略)属性介绍 控件的 sizePolicy 说明控件在布局管理中的缩放方式。Qt提供的控件都有一个合理的缺省sizePolicy,但是这个缺省值有时不能适合 所有的布局,开发人员经常需要改变窗体上的某些控件的sizePolicy。一个QSizePolicy的所有变量对水平方向和垂直方向都适用。下面列举了一些最长用的值:Fixed:控件不能放大或者缩小,控件的...原创 2020-03-07 19:03:46 · 5496 阅读 · 0 评论 -
五、Qt界面设计之代码设置样式表
QStringList qss; qss.append("QLabel{color:#ffffff;}"); qss.append("#btnClose,#btnIcon{border:none;border-radius:0px;}"); qss.append("#btnClose:hover{background-color:#ff0000;}"); q...原创 2020-03-06 15:04:30 · 1148 阅读 · 0 评论 -
四、Qt界面设计之组件背景透明和无边框
//背景透明 this->setAttribute(Qt::WA_TranslucentBackground); //无边框 this->setWindowFlags(Qt::FramelessWindowHint);未设置之前:设置之后:原创 2020-03-06 15:13:50 · 2619 阅读 · 0 评论 -
三、Qt界面设计之内置图标
一、基本使用 QGridLayout *layout = qobject_cast<QGridLayout *>(ui->centralWidget->layout()); int iconIndex = 0; for (int row=0; row<7; row++) { for (int col=0; col<10; ...原创 2020-03-06 14:54:08 · 1807 阅读 · 0 评论 -
二、Qt界面设计之布局
布局中主要关注以下几点:1.空白(margin)和间距(spacing)每种布局都有两个重要的属性,空白和间距。空白指的是整个布局四周距离窗体边缘的距离;间距指的是布局管理器内部各个窗口部件之间的距离。空白属性即margin(),间距属性即spacing(),它们的默认值是有窗体的风格决定的。Qt 的默认风格下,子窗体部件的margin()的值是9 英寸。spacing()的值与margin(...原创 2020-03-06 11:18:44 · 1596 阅读 · 0 评论 -
一、Qt界面设计之拖拽实现界面大小控制
一、效果显示鼠标点击右下角那个图标就可以拖拽控制界面大小,我们可以通过 setSizeGripEnabled() 函数来控制其是否显示,从而控制用户是否可以拖拽界面实现大小控制...原创 2020-03-06 10:57:14 · 3285 阅读 · 0 评论