当前位置: 首页 > news >正文

东营有网站广东深圳旅游必去十大景点

东营有网站,广东深圳旅游必去十大景点,门户网站建设哪里有,公司旅游视频网站模板免费下载2.4 按钮组件2.5 布局组件 2.4 按钮组件 QPushButton、QRadioButton 、QCheckBox都从 QAbstractButton#xff0c;拥有一些共同的属性#xff0c;如下图所 示#xff1a; 图标使用setIcon()来设置#xff0c;文本可以在构造函数或通过 setText()来设置。 可以使用 isCheck… 2.4 按钮组件2.5 布局组件 2.4 按钮组件 QPushButton、QRadioButton 、QCheckBox都从 QAbstractButton拥有一些共同的属性如下图所 示 图标使用setIcon()来设置文本可以在构造函数或通过 setText()来设置。 可以使用 isChecked() 检查是否被选 中。 QPushButton QPushButton 是Qt常用的控件之一提供普通的按 钮功能。 通过信号槽机制接收触发信号并执行对应 动作。 QRadioButton 单选框默认开启自动互斥autoExclusive。如果 启用了自动互斥属于同一个父部件的单选框的行为 就和属于一个互斥按钮组的一样。如果你需要为属于 同一父部件的单选框设置多个互斥按钮组把它们加 入QButtonGroup中。 QCheckBox 它也是一个可选择的按钮 常见用途是在要求用户 选择一个或多个可用选项的情况下。 与单选按钮不 同默认情况下复选框不是互斥的。 checkBox按钮 可以通过在QButtonGroup对象中添加它们而互斥。 每当选中或清除复选框时它都会发出信号状态 Changed()。如果要在每次复选框更改状态时触发操 作请连接到此信号。您可以使用 isChecked() 查询 复选框是否被选中。 注意QCheckBox可以有两种状态也可以有三种 状态未选中选中半选默认是两种状态。 创建基于QMainWindow的工程如下图所示 对应的代码 #include mainwindow.h #include ui_mainwindow.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_pushButton_ok_clicked() {// 构建个人信息字符串QString info 我是;if (ui-radioButton_man-isChecked()) {info 男生;} else if (ui-radioButton_woman-isChecked()) {info 女生;} else {info 性别保密;}info , 我平时喜欢;// 处理喜好复选框if (ui-checkBox_backeball-checkState()) {info ui-checkBox_backeball-text();info ,;}if (ui-checkBox_cartoon-checkState()) {info ui-checkBox_cartoon-text();info ,;}if (ui-checkBox_game-checkState()) {info ui-checkBox_game-text();info ,;}if (ui-checkBox_reading-checkState()) {info ui-checkBox_reading-text();info ,;}if (ui-checkBox_swim-checkState()) {info ui-checkBox_swim-text();info ,;}// 替换最后一个逗号为句号int pos info.lastIndexOf(,);info.replace(pos, 1, .);// 设置文本浏览器显示个人信息ui-textBrowser-setText(info); }void MainWindow::on_pushButton_clear_clicked() {// 清除单选框和复选框的选择状态并清空文本浏览器ui-radioButton_man-setAutoExclusive(false);ui-radioButton_man-setChecked(false);ui-radioButton_man-setAutoExclusive(true);ui-radioButton_woman-setAutoExclusive(false);ui-radioButton_woman-setChecked(false);ui-radioButton_woman-setAutoExclusive(true);ui-checkBox_backeball-setChecked(false);ui-checkBox_cartoon-setChecked(false);ui-checkBox_game-setChecked(false);ui-checkBox_reading-setChecked(false);ui-checkBox_swim-setChecked(false);ui-textBrowser-clear(); } 2.5 布局组件 Qt 的界面设计使用了布局Layout功能。所谓布局 就是界面上组件的排列方式使用布局可以使组件有规 则地分布并且随着窗体大小变化自动地调整大小和相 对位置。 Qt提供了QHBoxLayout类(水平排列布局) QVBoxLayout类(垂直排列布局)QGridLayout类(网格 排列布局)等基本布局管理。它们之间的继承关系如下图 所示。 在designer软件界面中我们可以看到 每个组件的作用如下表所示。 addWidget()方法用于向布局中加入组件。 addLayout()方法用于向布局中加入子布局 。 LeftLayout new QGridLayout(); //由于LeftLayout布局管理器不是主布局管理器所以不用指定父窗口 QGridLayout *mainLayout new QGridLayout(this); //mainLayout实现主布局所有要指定父窗口 //QHBoxLayout默认采取的是以自左向右的方式顺序排列插入控件或子布局也可以通过setDirection()方法设定排列的顺序 TopRightLayout-setDirection(QBoxLayout::RightToLeft); //QHBoxLayout是水平布局可以设定水平各个控件之间的间距 TopRightLayout new QHBoxLayout(); TopRightLayout-setSpacing(20); //设定各个控件之间的间距为20布局如下窗口 代码方式: #ifndef WIDGET_H #define WIDGET_H#include QWidget #include QLabel #include QLineEdit #include QRadioButton #include QPushButtonclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();// 初始化标签void initLabel();// 初始化输入框void initLineEdit();// 初始化布局void initLayout();// 初始化按钮void initBtn();protected:// 标签QLabel *nameLabel;QLabel *ageLabel;QLabel *emailLabel;QLabel *numLabel;QLabel *sexLabel;// 输入框QLineEdit *ageLineEdit;QLineEdit *nameLineEdit;QLineEdit *emailLineEdit;QLineEdit *numLineEdit;// 单选按钮QRadioButton *mBtn;QRadioButton *wBtn;QPushButton *okBtn; };#endif // WIDGET_H#include widget.h #include QFormLayout #include QHBoxLayout #include QVBoxLayoutWidget::Widget(QWidget *parent): QWidget(parent) {// 构造函数里逐个调用this-initBtn();this-initLabel();this-initLineEdit();this-initLayout(); }Widget::~Widget() { }void Widget::initLabel() {this-nameLabel new QLabel(姓名(N));this-ageLabel new QLabel(年龄(A));this-emailLabel new QLabel(邮箱(E));this-numLabel new QLabel(电话号码(N));this-sexLabel new QLabel(性别); }void Widget::initLineEdit() {this-nameLineEdit new QLineEdit;this-ageLineEdit new QLineEdit;this-emailLineEdit new QLineEdit;this-numLineEdit new QLineEdit; }// 初始化布局 void Widget::initLayout() {nameLabel-setBuddy(nameLineEdit);ageLabel-setBuddy(ageLineEdit);emailLabel-setBuddy(emailLineEdit);// 创建一个表格类布局QFormLayout *headerLayout new QFormLayout;headerLayout-addRow(nameLabel, nameLineEdit);headerLayout-addRow(ageLabel, ageLineEdit);headerLayout-addRow(emailLabel, emailLineEdit);headerLayout-addRow(numLabel, numLineEdit);// 创建水平布局类意思是横线方向的布局QHBoxLayout *sexLayout new QHBoxLayout;sexLayout-addWidget(sexLabel);sexLayout-addWidget(mBtn);sexLayout-addWidget(wBtn);// 空隙QSpacerItem *vSpacer new QSpacerItem(30, 30);QSpacerItem *hSpacer new QSpacerItem(150, 20);// 创建水平布局QHBoxLayout *okLayout new QHBoxLayout;// 把上面创建的空隙先添加进来okLayout-addItem(hSpacer);// 把按钮添加到布局okLayout-addWidget(okBtn);// 创建一个垂直布局作为主布局把之前创建的布局都添加到这个布局中QVBoxLayout *mainLayout new QVBoxLayout(this);mainLayout-addLayout(headerLayout);mainLayout-addLayout(sexLayout);mainLayout-addItem(vSpacer);mainLayout-addLayout(okLayout);mainLayout-setMargin(50);mainLayout-setSpacing(10);// 把垂直布局设置为当前界面的this-setLayout(mainLayout); }void Widget::initBtn() {this-mBtn new QRadioButton(男);this-wBtn new QRadioButton(女);this-okBtn new QPushButton(确定); }可视化方式 第一步 第二步 第三步 第四步
http://www.zqtcl.cn/news/992099/

相关文章:

  • 哪些网站做的美爱站工具网
  • 对网站开发的理解源码资源网
  • 有哪些做兼职的网站网站建设的项目计划书
  • 如何做行业网站江苏城乡建设部网站首页
  • 淘客网站怎么做 知乎wordpress 删除插件
  • 深圳市住房和建设局人事调整公司网站seo怎么做
  • 小型影视网站源码好看的个人博客
  • 哈密建设厅网站西安培训机构
  • 网站建设公众号小程序开发密云网站开发
  • 南宁网站开发制作网站数据库分离怎么做
  • 不能打开建设银行网站怎么办自己做网站要会什么软件下载
  • 微软网站怎么做的diy个性定制
  • 洛阳做网站的公司宣传品牌网站建设
  • 公司网站开发招标书电子商务网站系统
  • 哪个旅游网站做的最好营销策划方案范文免费下载
  • 德州哪家网站优化公司专业单页网站seo如何优化
  • 南昌汉邦网站建设城建局
  • 网站建设:中企动力招聘网58同城招聘发布
  • 惠州住房和建设局网站物流网站建设方案范文
  • 做网站架构需要什么步骤wordpress插件连不上
  • 网上购物网站建设规划论文国家企业网官网查询
  • 响应式网站建设推荐乐云seo2022年热点新闻事件
  • 用.net做视频网站的案例做网站需要视频衔接怎么做
  • 网站搭建规划模板wordpress博客点赞
  • 怎么在wordpress免费注册博客网站百度广告代理
  • 网站建设与管理考试怎么让网站分享有图片
  • 做渠道的网站有哪些方面广州网站建设咨询电话
  • 如何查看网站做没做竞价湘潭做网站 搜搜磐石网络
  • 郑州免费建站搭建网页平台
  • 长沙网站优化对策企业官网wordpress主题下载