96SEO 2026-02-20 01:29 7
纯代码进行界面设计1.代码界面设计的总思路2.创建项目3.设计草图4.添加组件指针5.初始化组件指针6.添加组件到窗口①水平布局②垂直布局③细节点

首先确定需要那些组件然后定义好组件初始化组件用布局将组件添加到窗口定义槽函数关联槽函数实现槽函数
因为我们要知道我们需要那些组件所以说一般我们会先设计一个草图知道自己需要用那些组件。
QPushButton//按钮然后在private里面把组件添加成成员数据
//粗体复选框QCheckBox*chkBoxUnderLine;//下划线QCheckBox*chkBoxItalic;//斜体QRadioButton*rBtnRed;//红色单选框QRadioButton*rBtnBlack;//黑色QRadioButton*rBtnGreen;//绿色QPlainTextEdit*txtEdit;//纯文本编辑器QPushButton*btnOK;//确定按钮QPushButton*btnCancel;//取消QPushButton*btnExit;//退出这样就添加完成了变量名要自己能看懂哦
可以直接在Dialog的构造函数中进行初始化但是会显的代码杂乱无章。
QHBoxLayout创建一个水平布局将同一行的组件添加到布局中
QHBoxLayout;HLay1-addWidget(chkBoxUnderLine);HLay1-addWidget(chkBoxItalic);HLay1-addWidget(chkBoxBold);QHBoxLayout
QHBoxLayout;HLay2-addWidget(rBtnBlack);HLay2-addWidget(rBtnRed);HLay2-addWidget(rBtnGreen);QHBoxLayout
QHBoxLayout;HLay3-addWidget(btnOK);HLay3-addWidget(btnCancel);HLay3-addWidget(btnExit);}addWidget的意思是添加组件的意思。
接下来开始垂直布局就是将从上到下的布局或者组件添加到垂直的布局中。
QVBoxLayout;VLay-addLayout(HLay1);VLay-addLayout(HLay2);VLay-addWidget(txtEdit);VLay-addLayout(HLay3);然后将垂直布局添加到对话窗口中就可以进行显示了
QCheckBox(斜体);chkBoxUnderLinenew
QHBoxLayout;HLay1-addWidget(chkBoxUnderLine);HLay1-addWidget(chkBoxItalic);HLay1-addWidget(chkBoxBold);QHBoxLayout
QHBoxLayout;HLay2-addWidget(rBtnBlack);HLay2-addWidget(rBtnRed);HLay2-addWidget(rBtnGreen);QHBoxLayout
QHBoxLayout;HLay3-addWidget(btnOK);HLay3-addWidget(btnCancel);HLay3-addWidget(btnExit);QVBoxLayout*VLaynew
QVBoxLayout;VLay-addLayout(HLay1);VLay-addLayout(HLay2);VLay-addWidget(txtEdit);VLay-addLayout(HLay3);setLayout(VLay);
如果水平某个地方你希望空着不均匀分布。
那可以在水平布局里面添加一个拉升器。
QHBoxLayout;HLay3-addWidget(btnOK);HLay3-addWidget(btnCancel);HLay3-addStretch();//添加拉升器HLay3-addWidget(btnExit);运行效果
txtEdit-setPlainText(给我点点关注我也给你点点关注);运行结果
rBtnBlack-setChecked(true);//黑色默认被选中运行结果
setTxtColor();因为复选框可以打开也可以关闭所以说我们要接受一个bool值来确定当前的状态。
对于单选框我们只能选一个功能都是相同的所以可以只用定义一个槽函数即可。
我们也统一定义一个函数initSignalSlots去统一关联。
{//关联复选框connect(chkBoxBold,SIGNAL(clicked(bool)),this,SLOT(onChkBoxBold(bool)));connect(chkBoxItalic,SIGNAL(clicked(bool)),this,SLOT(onChkBoxItalic(bool)));connect(chkBoxUnderLine,SIGNAL(clicked(bool)),this,SLOT(onChkBoxUnderLine(bool)));//关联单选框connect(rBtnRed,SIGNAL(clicked()),this,SLOT(setTxtColor()));connect(rBtnBlack,SIGNAL(clicked()),this,SLOT(setTxtColor()));connect(rBtnGreen,SIGNAL(clicked()),this,SLOT(setTxtColor()));//关联按钮connect(btnOK,SIGNAL(clicked()),this,SLOT(close()));connect(btnCancel,SIGNAL(clicked()),this,SLOT(close()));connect(btnExit,SIGNAL(clicked()),this,SLOT(close()));
对于复选框我们要先拿到文本的字体然后再继续修改然后又设置回去。
fonttxtEdit-font();//取出文本的字体font.setBold(checked);//根据checked来设置字体为粗体txtEdit-setFont(font);//将字体设回到文本中
fonttxtEdit-font();font.setUnderline(checked);txtEdit-setFont(font);
fonttxtEdit-font();font.setItalic(checked);txtEdit-setFont(font);
palettetxtEdit-palette();//拿到文本的调色板//判断哪一个按钮被点击if(rBtnRed-isChecked()){palette.setColor(QPalette::Text,Qt::red);}else
if(rBtnBlack-isChecked()){palette.setColor(QPalette::Text,Qt::black);}else
if(rBtnGreen-isChecked()){palette.setColor(QPalette::Text,Qt::green);}//将调色板设回文本txtEdit-setPalette(palette);
}颜色的实现思路差不多先用palette取出调色板,然后设置Text是对文本有效
用纯代码来设计界面是我们是要遵循一个逻辑循序的这样你的代码就会条理清晰且可维护性高。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback