c语言如何编写界面程序

c语言如何编写界面程序,第1张

C语方下可以在文本模式下作出,也可以在图形模式下画出,用的是一些扩展库,就是说不是C标准库,下面给一个框架,不知道建不建议学,感觉过时了,看你自已的兴趣了,感兴趣下了功夫肯定能学好,因为它根本就不难,只不过用了些非标准库的所谓高级函数而已

#include <process.h>

#include <dos.h>

#include <conio.h>

#define Key_DOWN 0x5100

#define Key_UP 0x4900

#define Key_ESC 0x011b

#define Key_ALT_F 0x2100

#define Key_ALT_X 0x2d00

#define Key_ENTER 0x1c0d

void box(int startx,int starty,int high,int width)

main()

{

int i,key,x,y,l

char *menu[] =

/* 主菜单各项 */

char *red[] = /* 加上红色热键 */

char *f[] =

/* File 项的子菜单 */

char buf[16*10*2],buf1[16*2] /* 定义保存文本的缓冲区 */

while(1)

{

textbackground(BLUE)

clrscr()

textmode(C80)

window(1,1,80,1)/* 定义显示主菜单的窗口 */

textbackground(LIGHTGRAY)

textcolor(BLACK)

clrscr()

gotoxy(5,1)

for(i=0,l=0i<8i++)

{

x=wherex() /* 得到当前光标的坐标 */

y=wherey()

cprintf("%s",menu[i])/* 显示各菜单项 */

l=strlen(menu[i]) /* 得到菜单项的长度 */

gotoxy(x,y)

textcolor(RED)

cprintf("%s",red[i]) /* 在主菜单项各头字符写上红字符 */

x=x+l+5

gotoxy(x,y)

textcolor(BLACK) /* 为显示下一个菜单项移动光标 */

}

gotoxy(5,1)

key=bioskey(0)

switch (key){

case Key_ALT_X:

exit(0)/* ALT_X 则退出 */

case Key_ALT_F:

{

textbackground(BLACK)

textcolor(WHITE)

gotoxy(5,1)

cprintf("%s",menu[0]) /* 加黑 File 项 */

gettext(5,2,20,12,buf)/* 保存窗口原来的文本 */

window(5,2,20,9)/* 设置作矩形框的窗口 */

textbackground(LIGHTGRAY)

textcolor(BLACK)

clrscr()

box(1,1,7,16) /* 调用作框函数 */

for(i=2i<7i++)/* 显示子菜单各项 */

{ gotoxy(2,i)

cprintf("%s",f[i-2])

}

gettext(2,2,18,3,buf1) /*将下拉菜单的内容保存在 buf1*/

textbackground(BLACK)

textcolor(WHITE)

gotoxy(2,2)

cprintf("%s",f[0])/*加黑下拉菜单的第一项 load file*/

gotoxy(2,2)

y=2

while ((key=bioskey(0))!=Key_ALT_X) /* 等待选择下拉菜单项*/

{

if ((key==Key_UP)||(key==Key_DOWN))

{

puttext(2,y,18,y+1,buf1) /* 恢复原先的项 */

if (key==Key_UP)

y=y==2?6:y-1

else

y=y==6?2:y+1

gettext(2,y,18,y+1,buf1)/*保存要压上光条的子菜单项*/

textbackground(BLACK)

textcolor(WHITE)

gotoxy(2,y)

cprintf("%s",f[y-2])/* 产生黑条压在所选项上 */

gotoxy(2,y)

}

else

if (key==Key_ENTER)/* 若是回车键,判断是哪一子菜单按的回

车,在此没有相应的特殊处理*/

{

switch ( y-1 ){

case 1: /* 是子菜单项第一项:Load file */

break

case 2: /* Save file */

break

case 3:/* print */

break

case 4: /* modify */

break

case 5:

exit(0)

default:

break

}

break

}

else

if (key==Key_ESC)

break/* 是 Esc 键,返回主菜单 */

}

if (key==Key_ALT_X) exit(0)

break

}

}

}

}

void box(int startx,int starty,int high,int width) /* 画矩形框函数 */

{ int i

gotoxy(startx,starty)

putch(0xda) /* 画┌ */

for (i=startx+1i<widthi++) putch(0xc4) /* 画— */

putch(0xbf) /* 画┐ */

for( i=starty+1i<highi++)

{

gotoxy(startx,i)putch(0xb3) /* 画│ */

gotoxy(width,i)putch(0xb3) /* 画│ */

}

gotoxy(startx,high)

putch(0xc0) /* 画└ */

for (i=startx+1i<widthi++) putch(0xc4) /* 画— */

putch(0xd9) /* 画┘ */

return

}

方法步骤如下:

1、首先打开计算机在,在计算机内打开打开QtCreator,新建一个qt工程。

2、工程建立完毕,代码编辑界面出现,先不管代码。双击左侧的dialog.ui,将会打开图形界面编辑器界面。

3、可以看到左侧有很多控件,中间就是程序运行时显示的窗口,右侧是对象窗口和属性窗口。其实,图形界面编辑器有一个独立的软件,叫做qt designer,是专门用来编辑图形资源的。实际上,编辑完成的图形界面是一个纯文本的xml文件,其实还有很多类似的图形界面编辑器。Qt集成开发环境会将我们编辑的图形界面xml文件转换成可编译的c++代码。

4、下面我们在中间的窗口中拖入一个按钮,一个文本框。左键按住Push Button和Line Edit不放,拖到界面上即可。

5、要注意按钮和文本框的objectName,在编写代码时要用到。

6、将窗口调整下,让窗口大小合适,按钮和文本框能够对齐,并且能够随窗口的变化而变化。

7、先点击窗口空白的地方,再点击上方工具栏上的水平布局按钮。然后将窗口调整到合适大小,来看看效果。

8、点击菜单栏的工具Form Editor预览,来看看实际运行时窗口的效果。这只是外观效果,下面我们来添加一点代码。

9、在按钮上右键,点击转到槽。

10、然后再双击clicked(),将转到代码编辑页面。

11、在代码编辑页面添加如下代码:QMessageBox::information(this,"图形界面",ui->lineEdit->text())注意在顶部添加#include <QMessageBox>。

12、最后点击运行按钮即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7782225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存